Cognitive Profiles

ABSTRACT

A method, system and computer-usable medium for performing cognitive computing operations comprising receiving streams of data from a plurality of data sources; processing the streams of data from the plurality of data sources, the processing the streams of data from the plurality of data sources performing data enriching for incorporation into a cognitive graph; defining a cognitive persona within the cognitive graph, the cognitive persona corresponding to an archetype user model, the cognitive persona comprising a set of nodes in the cognitive graph; associating a user with the cognitive persona; defining a cognitive profile within the cognitive graph, the cognitive profile comprising an instance of the cognitive persona that references personal data associated with the user; associating the user with the cognitive profile; and, performing a cognitive computing operation based upon the cognitive profile associated with the user.

CROSS-REFERENCE TO RELATED APPLICATION

This application claims the benefit under 35 U.S.C. § 119(e) of U.S.Provisional Application No. 62/009,626, filed Jun. 9, 2014, entitled“Cognitive Information Processing System Environment.” U.S. ProvisionalApplication No. 62/009,626 includes exemplary systems and methods and isincorporated by reference in

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates in general to the field of computers andsimilar technologies, and in particular to software utilized in thisfield. Still more particularly, it relates to a method, system andcomputer-usable medium for performing cognitive inference and learningoperations.

Description of the Related Art

In general, “big data” refers to a collection of datasets so large andcomplex that they become difficult to process using typical databasemanagement tools and traditional data processing approaches. Thesedatasets can originate from a wide variety of sources, includingcomputer systems, mobile devices, credit card transactions, televisionbroadcasts, and medical equipment, as well as infrastructures associatedwith cities, sensor-equipped buildings and factories, and transportationsystems. Challenges commonly associated with big data, which may be acombination of structured, unstructured, and semi-structured data,include its capture, curation, storage, search, sharing, analysis andvisualization. In combination, these challenges make it difficult toefficiently process large quantities of data within tolerable timeintervals.

Nonetheless, big data analytics hold the promise of extracting insightsby uncovering difficult-to-discover patterns and connections, as well asproviding assistance in making complex decisions by analyzing differentand potentially conflicting options. As such, individuals andorganizations alike can be provided new opportunities to innovate,compete, and capture value.

One aspect of big data is “dark data,” which generally refers to datathat is either not collected, neglected, or underutilized. Examples ofdata that is not currently being collected includes location data priorto the emergence of companies such as Foursquare or social data prior tothe advent companies such as Facebook. An example of data that is beingcollected, but is difficult to access at the right time and place,includes data associated with the side effects of certain spider biteswhile on a camping trip. As another example, data that is collected andavailable, but has not yet been productized of fully utilized, mayinclude disease insights from population-wide healthcare records andsocial media feeds. As a result, a case can be made that dark data mayin fact be of higher value than big data in general, especially as itcan likely provide actionable insights when it is combined withreadily-available data.

SUMMARY OF THE INVENTION

A method, system and computer-usable medium are disclosed for cognitiveinference and learning operations.

In one embodiment, the invention relates to a method for performingcognitive computing operations comprising receiving streams of data froma plurality of data sources; processing the streams of data from theplurality of data sources, the processing the streams of data from theplurality of data sources performing data enriching for incorporationinto a cognitive graph; defining a cognitive persona within thecognitive graph, the cognitive persona corresponding to an archetypeuser model, the cognitive persona comprising a set of nodes in thecognitive graph; associating a user with the cognitive persona; defininga cognitive profile within the cognitive graph, the cognitive profilecomprising an instance of the cognitive persona that references personaldata associated with the user; associating the user with the cognitiveprofile; and, performing a cognitive computing operation based upon thecognitive profile associated with the user.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention may be better understood, and its numerousobjects, features and advantages made apparent to those skilled in theart by referencing the accompanying drawings. The use of the samereference number throughout the several figures designates a like orsimilar element.

FIG. 1 depicts an exemplary client computer in which the presentinvention may be implemented;

FIG. 2 is a simplified block diagram of a cognitive inference andlearning system (CILS);

FIG. 3 is a simplified block diagram of a CILS reference modelimplemented in accordance with an embodiment of the invention;

FIGS. 4a through 4c depict additional components of the CILS referencemodel shown in FIG. 3;

FIG. 5 is a simplified process diagram of CILS operations;

FIG. 6 depicts the lifecycle of CILS agents implemented to perform CILSoperations;

FIG. 7 is a simplified block diagram of a plurality of cognitiveplatforms implemented in a hybrid cloud environment;

FIG. 8 depicts a cognitive persona defined by a first set of nodes in acognitive graph;

FIG. 9 depicts a cognitive profile defined by the addition of a secondset of nodes to the first set of nodes shown in FIG. 8;

FIG. 10 depicts a cognitive persona defined by a first set of nodes in aweighted cognitive graph;

FIG. 11 depicts a cognitive profile defined by the addition of a secondset of nodes to the first set of nodes shown in FIG. 10;

FIGS. 12a and 12b are a simplified process flow diagram showing the useof cognitive personas and cognitive profiles to generate compositecognitive insights; and

FIGS. 13a and 13b are a generalized flowchart of cognitive persona andcognitive profile operations performed in the generation of compositecognitive insights.

DETAILED DESCRIPTION

A method, system and computer-usable medium are disclosed for cognitiveinference and learning operations. The present invention may be asystem, a method, and/or a computer program product. The computerprogram product may include a computer readable storage medium (ormedia) having computer readable program instructions thereon for causinga processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, or either source code or object code written in anycombination of one or more programming languages, including an objectoriented programming language such as Smalltalk, C++ or the like, andconventional procedural programming languages, such as the “C”programming language or similar programming languages. The computerreadable program instructions may execute entirely on the user'scomputer, partly on the user's computer, as a stand-alone softwarepackage, partly on the user's computer and partly on a remote computeror entirely on the remote computer or server. In the latter scenario,the remote computer may be connected to the user's computer through anytype of network, including a local area network (LAN) or a wide areanetwork (WAN), or the connection may be made to an external computer(for example, through the Internet using an Internet Service Provider).In some embodiments, electronic circuitry including, for example,programmable logic circuitry, field-programmable gate arrays (FPGA), orprogrammable logic arrays (PLA) may execute the computer readableprogram instructions by utilizing state information of the computerreadable program instructions to personalize the electronic circuitry,in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the block may occur out of theorder noted in the figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

FIG. 1 is a generalized illustration of an information processing system100 that can be used to implement the system and method of the presentinvention. The information processing system 100 includes a processor(e.g., central processor unit or “CPU”) 102, input/output (I/O) devices104, such as a display, a keyboard, a mouse, and associated controllers,a hard drive or disk storage 106, and various other subsystems 108. Invarious embodiments, the information processing system 100 also includesnetwork port 110 operable to connect to a network 140, which is likewiseaccessible by a service provider server 142. The information processingsystem 100 likewise includes system memory 112, which is interconnectedto the foregoing via one or more buses 114. System memory 112 furthercomprises operating system (OS) 116 and in various embodiments may alsocomprise cognitive inference and learning system (CILS) 118. In theseand other embodiments, the CILS 118 may likewise comprise inventionmodules 120. In one embodiment, the information processing system 100 isable to download the CILS 118 from the service provider server 142. Inanother embodiment, the CILS 118 is provided as a service from theservice provider server 142.

In various embodiments, the CILS 118 is implemented to perform variouscognitive computing operations described in greater detail herein. Asused herein, cognitive computing broadly refers to a class of computinginvolving self-learning systems that use techniques such as spatialnavigation, machine vision, and pattern recognition to increasinglymimic the way the human brain works. To be more specific, earlierapproaches to computing typically solved problems by executing a set ofinstructions codified within software. In contrast, cognitive computingapproaches are data-driven, sense-making, insight-extracting,problem-solving systems that have more in common with the structure ofthe human brain than with the architecture of contemporary,instruction-driven computers.

To further differentiate these distinctions, traditional computers mustfirst be programmed by humans to perform specific tasks, while cognitivesystems learn from their interactions with data and humans alike, and ina sense, program themselves to perform new tasks. To summarize thedifference between the two, traditional computers are designed tocalculate rapidly. Cognitive systems are designed to quickly drawinferences from data and gain new knowledge.

Cognitive systems achieve these abilities by combining various aspectsof artificial intelligence, natural language processing, dynamiclearning, and hypothesis generation to render vast quantities ofintelligible data to assist humans in making better decisions. As such,cognitive systems can be characterized as having the ability to interactnaturally with people to extend what either humans, or machines, coulddo on their own. Furthermore, they are typically able to process naturallanguage, multi-structured data, and experience much in the same way ashumans. Moreover, they are also typically able to learn a knowledgedomain based upon the best available data and get better, and moreimmersive, over time.

It will be appreciated that more data is currently being produced everyday than was recently produced by human beings from the beginning ofrecorded time. Deep within this ever-growing mass of data is a class ofdata known as “dark data,” which includes neglected information, ambientsignals, and insights that can assist organizations and individuals inaugmenting their intelligence and deliver actionable insights throughthe implementation of cognitive applications. As used herein, cognitiveapplications, or “cognitive apps,” broadly refer to cloud-based, bigdata interpretive applications that learn from user engagement and datainteractions. Such cognitive applications extract patterns and insightsfrom dark data sources that are currently almost completely opaque.Examples of such dark data include disease insights from population-widehealthcare records and social media feeds, or from new sources ofinformation, such as sensors monitoring pollution in delicate marineenvironments.

Over time, it is anticipated that cognitive applications willfundamentally change the ways in which many organizations operate asthey invert current issues associated with data volume and variety toenable a smart, interactive data supply chain. Ultimately, cognitiveapplications hold the promise of receiving a user query and immediatelyproviding a data-driven answer from a masked data supply chain inresponse. As they evolve, it is likewise anticipated that cognitiveapplications may enable a new class of “sixth sense” applications thatintelligently detect and learn from relevant data and events to offerinsights, predictions and advice rather than wait for commands. Just asweb and mobile applications changed the way people access data,cognitive applications may change the way people listen to, and becomeempowered by, multi-structured data such as emails, social media feeds,doctors notes, transaction records, and call logs.

However, the evolution of such cognitive applications has associatedchallenges, such as how to detect events, ideas, images, and othercontent that may be of interest. For example, assuming that the role andpreferences of a given user are known, how is the most relevantinformation discovered, prioritized, and summarized from large streamsof multi-structured data such as news feeds, blogs, social media,structured data, and various knowledge bases? To further the example,what can a healthcare executive be told about their competitor's marketshare? Other challenges include the creation of acontextually-appropriate visual summary of responses to questions orqueries.

FIG. 2 is a simplified block diagram of a cognitive inference andlearning system (CILS) implemented in accordance with an embodiment ofthe invention. In various embodiments, the CILS 118 is implemented toincorporate a variety of processes, including semantic analysis 202,goal optimization 204, collaborative filtering 206, common sensereasoning 208, natural language processing 210, summarization 212,temporal/spatial reasoning 214, and entity resolution 216 to generatecognitive insights.

As used herein, semantic analysis 202 broadly refers to performingvarious analysis operations to achieve a semantic level of understandingabout language by relating syntactic structures. In various embodiments,various syntactic structures are related from the levels of phrases,clauses, sentences and paragraphs, to the level of the body of contentas a whole and to its language-independent meaning. In certainembodiments, the semantic analysis 202 process includes processing atarget sentence to parse it into its individual parts of speech, tagsentence elements that are related to predetermined items of interest,identify dependencies between individual words, and perform co-referenceresolution. For example, if a sentence states that the author reallylikes the hamburgers served by a particular restaurant, then the name ofthe “particular restaurant” is co-referenced to “hamburgers.”

As likewise used herein, goal optimization 204 broadly refers toperforming multi-criteria decision making operations to achieve a givengoal or target objective. In various embodiments, one or more goaloptimization 204 processes are implemented by the CILS 118 to definepredetermined goals, which in turn contribute to the generation of acognitive insight. For example, goals for planning a vacation trip mayinclude low cost (e.g., transportation and accommodations), location(e.g., by the beach), and speed (e.g., short travel time). In thisexample, it will be appreciated that certain goals may be in conflictwith another. As a result, a cognitive insight provided by the CILS 118to a traveler may indicate that hotel accommodations by a beach may costmore than they care to spend.

Collaborative filtering 206, as used herein, broadly refers to theprocess of filtering for information or patterns through thecollaborative involvement of multiple agents, viewpoints, data sources,and so forth. The application of such collaborative filtering 206processes typically involves very large and different kinds of datasets, including sensing and monitoring data, financial data, and userdata of various kinds. Collaborative filtering 206 may also refer to theprocess of making automatic predictions associated with predeterminedinterests of a user by collecting preferences or other information frommany users. For example, if person ‘A’ has the same opinion as a person‘B’ for a given issue ‘x’, then an assertion can be made that person ‘A’is more likely to have the same opinion as person ‘B’ opinion on adifferent issue ‘y’ than to have the same opinion on issue ‘y’ as arandomly chosen person. In various embodiments, the collaborativefiltering 206 process is implemented with various recommendation enginesfamiliar to those of skill in the art to make recommendations.

As used herein, common sense reasoning 208 broadly refers to simulatingthe human ability to make deductions from common facts they inherentlyknow. Such deductions may be made from inherent knowledge about thephysical properties, purpose, intentions and possible behavior ofordinary things, such as people, animals, objects, devices, and so on.In various embodiments, common sense reasoning 208 processes areimplemented to assist the CILS 118 in understanding and disambiguatingwords within a predetermined context. In certain embodiments, the commonsense reasoning 208 processes are implemented to allow the CILS 118 togenerate text or phrases related to a target word or phrase to performdeeper searches for the same terms. It will be appreciated that if thecontext of a word is better understood, then a common senseunderstanding of the word can then be used to assist in finding betteror more accurate information. In certain embodiments, this better ormore accurate understanding of the context of a word, and its relatedinformation, allows the CILS 118 to make more accurate deductions, whichare in turn used to generate cognitive insights.

As likewise used herein, natural language processing (NLP) 210 broadlyrefers to interactions with a system, such as the CILS 118, through theuse of human, or natural, languages. In various embodiments, various NLP210 processes are implemented by the CILS 118 to achieve naturallanguage understanding, which enables it to not only derive meaning fromhuman or natural language input, but to also generate natural languageoutput.

Summarization 212, as used herein, broadly refers to processing a set ofinformation, organizing and ranking it, and then generating acorresponding summary. As an example, a news article may be processed toidentify its primary topic and associated observations, which are thenextracted, ranked, and then presented to the user. As another example,page ranking operations may be performed on the same news article toidentify individual sentences, rank them, order them, and determinewhich of the sentences are most impactful in describing the article andits content. As yet another example, a structured data record, such as apatient's electronic medical record (EMR), may be processed using thesummarization 212 process to generate sentences and phrases thatdescribes the content of the EMR. In various embodiments, varioussummarization 212 processes are implemented by the CILS 118 to generatesummarizations of content streams, which are in turn used to generatecognitive insights.

As used herein, temporal/spatial reasoning 214 broadly refers toreasoning based upon qualitative abstractions of temporal and spatialaspects of common sense knowledge, described in greater detail herein.For example, it is not uncommon for a predetermined set of data tochange over time. Likewise, other attributes, such as its associatedmetadata, may likewise change over time. As a result, these changes mayaffect the context of the data. To further the example, the context ofasking someone what they believe they should be doing at 3:00 in theafternoon during the workday while they are at work may be quitedifferent that asking the same user the same question at 3:00 on aSunday afternoon when they are at home. In various embodiments, varioustemporal/spatial reasoning 214 processes are implemented by the CILS 118to determine the context of queries, and associated data, which are inturn used to generate cognitive insights.

As likewise used herein, entity resolution 216 broadly refers to theprocess of finding elements in a set of data that refer to the sameentity across different data sources (e.g., structured, non-structured,streams, devices, etc.), where the target entity does not share a commonidentifier. In various embodiments, the entity resolution 216 process isimplemented by the CILS 118 to identify significant nouns, adjectives,phrases or sentence elements that represent various predeterminedentities within one or more domains. From the foregoing, it will beappreciated that the implementation of one or more of the semanticanalysis 202, goal optimization 204, collaborative filtering 206, commonsense reasoning 208, natural language processing 210, summarization 212,temporal/spatial reasoning 214, and entity resolution 216 processes bythe CILS 118 can facilitate the generation of a semantic, cognitivemodel.

In various embodiments, the CILS 118 receives ambient signals 220,curated data 222, and learned knowledge, which is then processed by theCILS 118 to generate one or more cognitive graphs 226. In turn, the oneor more cognitive graphs 226 are further used by the CILS 118 togenerate cognitive insight streams, which are then delivered to one ormore destinations 230, as described in greater detail herein.

As used herein, ambient signals 220 broadly refer to input signals, orother data streams, that may contain data providing additional insightor context to the curated data 222 and learned knowledge 224 received bythe CILS 118. For example, ambient signals may allow the CILS 118 tounderstand that a user is currently using their mobile device, atlocation ‘x’, at time ‘y’, doing activity ‘z’. To further the example,there is a difference between the user using their mobile device whilethey are on an airplane versus using their mobile device after landingat an airport and walking between one terminal and another. To extendthe example even further, ambient signals may add additional context,such as the user is in the middle of a three leg trip and has two hoursbefore their next flight. Further, they may be in terminal A1, but theirnext flight is out of C1, it is lunchtime, and they want to know thebest place to eat. Given the available time the user has, their currentlocation, restaurants that are proximate to their predicted route, andother factors such as food preferences, the CILS 118 can perform variouscognitive operations and provide a recommendation for where the user caneat.

In various embodiments, the curated data 222 may include structured,unstructured, social, public, private, streaming, device or other typesof data described in greater detail herein. In certain embodiments, thelearned knowledge 224 is based upon past observations and feedback fromthe presentation of prior cognitive insight streams and recommendations.In various embodiments, the learned knowledge 224 is provided via afeedback look that provides the learned knowledge 224 in the form of alearning stream of data.

As likewise used herein, a cognitive graph 226 refers to arepresentation of expert knowledge, associated with individuals andgroups over a period of time, to depict relationships between people,places, and things using words, ideas, audio and images. As such, it isa machine-readable formalism for knowledge representation that providesa common framework allowing data and knowledge to be shared and reusedacross user, application, organization, and community boundaries.

In various embodiments, the information contained in, and referenced by,a cognitive graph 226 is derived from many sources (e.g., public,private, social, device), such as curated data 222. In certain of theseembodiments, the cognitive graph 226 assists in the identification andorganization of information associated with how people, places andthings are related to one other. In various embodiments, the cognitivegraph 226 enables automated agents, described in greater detail herein,to access the Web more intelligently, enumerate inferences throughutilization of curated, structured data 222, and provide answers toquestions by serving as a computational knowledge engine.

In certain embodiments, the cognitive graph 226 not only elicits andmaps expert knowledge by deriving associations from data, it alsorenders higher level insights and accounts for knowledge creationthrough collaborative knowledge modeling. In various embodiments, thecognitive graph 226 is a machine-readable, declarative memory systemthat stores and learns both episodic memory (e.g., specific personalexperiences associated with an individual or entity), and semanticmemory, which stores factual information (e.g., geo location of anairport or restaurant).

For example, the cognitive graph 226 may know that a given airport is aplace, and that there is a list of related places such as hotels,restaurants and departure gates. Furthermore, the cognitive graph 226may know that people such as business travelers, families and collegestudents use the airport to board flights from various carriers, eat atvarious restaurants, or shop at certain retail stores. The cognitivegraph 226 may also have knowledge about the key attributes from variousretail rating sites that travelers have used to describe the food andtheir experience at various venues in the airport over the past sixmonths.

In certain embodiments, the cognitive insight stream 228 isbidirectional, and supports flows of information both too and fromdestinations 230. In these embodiments, the first flow is generated inresponse to receiving a query, and subsequently delivered to one or moredestinations 230. The second flow is generated in response to detectinginformation about a user of one or more of the destinations 230. Suchuse results in the provision of information to the CILS 118. Inresponse, the CILS 118 processes that information, in the context ofwhat it knows about the user, and provides additional information to theuser, such as a recommendation. In various embodiments, the cognitiveinsight stream 228 is configured to be provided in a “push” streamconfiguration familiar to those of skill in the art. In certainembodiments, the cognitive insight stream 228 is implemented to usenatural language approaches familiar to skilled practitioners of the artto support interactions with a user.

In various embodiments, the cognitive insight stream 228 may include astream of visualized insights. As used herein, visualized insightsbroadly refers to cognitive insights that are presented in a visualmanner, such as a map, an infographic, images, and so forth. In certainembodiments, these visualized insights may include various cognitiveinsights, such as “What happened?”, “What do I know about it?”, “What islikely to happen next?”, or “What should I do about it?” In theseembodiments, the cognitive insight stream is generated by variouscognitive agents, which are applied to various sources, datasets, andcognitive graphs. As used herein, a cognitive agent broadly refers to acomputer program that performs a task with minimum specific directionsfrom users and learns from each interaction with data and human users.

In various embodiments, the CILS 118 delivers Cognition as a Service(CaaS). As such, it provides a cloud-based development and executionplatform that allow various cognitive applications and services tofunction more intelligently and intuitively. In certain embodiments,cognitive applications powered by the CILS 118 are able to think andinteract with users as intelligent virtual assistants. As a result,users are able to interact with such cognitive applications by askingthem questions and giving them commands. In response, these cognitiveapplications will be able to assist the user in completing tasks andmanaging their work more efficiently.

In these and other embodiments, the CILS 118 can operate as an analyticsplatform to process big data, and dark data as well, to provide dataanalytics through a public, private or hybrid cloud environment. As usedherein, cloud analytics broadly refers to a service model wherein datasources, data models, processing applications, computing power, analyticmodels, and sharing or storage of results are implemented within a cloudenvironment to perform one or more aspects of analytics.

In various embodiments, users submit queries and computation requests ina natural language format to the CILS 118. In response, they areprovided with a ranked list of relevant answers and aggregatedinformation with useful links and pertinent visualizations through agraphical representation. In these embodiments, the cognitive graph 226generates semantic and temporal maps to reflect the organization ofunstructured data and to facilitate meaningful learning from potentiallymillions of lines of text, much in the same way as arbitrary syllablesstrung together create meaning through the concept of language.

FIG. 3 is a simplified block diagram of a cognitive inference andlearning system (CILS) reference model implemented in accordance with anembodiment of the invention. In this embodiment, the CILS referencemodel is associated with the CILS 118 shown in FIG. 2. As shown in FIG.3, the CILS 118 includes client applications 302, applicationaccelerators 306, a cognitive platform 310, and cloud infrastructure340. In various embodiments, the client applications 302 includecognitive applications 304, which are implemented to understand andadapt to the user, not the other way around, by natively accepting andunderstanding human forms of communication, such as natural languagetext, audio, images, video, and so forth.

In these and other embodiments, the cognitive applications 304 possesssituational and temporal awareness based upon ambient signals from usersand data, which facilitates understanding the user's intent, content,context and meaning to drive goal-driven dialogs and outcomes. Further,they are designed to gain knowledge over time from a wide variety ofstructured, non-structured, and device data sources, continuouslyinterpreting and autonomously reprogramming themselves to betterunderstand a given domain. As such, they are well-suited to supporthuman decision making, by proactively providing trusted advice, offersand recommendations while respecting user privacy and permissions.

In various embodiments, the application accelerators 306 include acognitive application framework 308. In certain embodiments, theapplication accelerators 306 and the cognitive application framework 308support various plug-ins and components that facilitate the creation ofclient applications 302 and cognitive applications 304. In variousembodiments, the application accelerators 306 include widgets, userinterface (UI) components, reports, charts, and back-end integrationcomponents familiar to those of skill in the art.

As likewise shown in FIG. 3, the cognitive platform 310 includes amanagement console 312, a development environment 314, applicationprogram interfaces (APIs) 316, sourcing agents 318, a cognitive engine320, destination agents 336, and platform data 338, all of which aredescribed in greater detail herein. In various embodiments, themanagement console 312 is implemented to manage accounts and projects,along with user-specific metadata that is used to drive processes andoperations within the cognitive platform 310 for a predeterminedproject.

In certain embodiments, the development environment 314 is implementedto create custom extensions to the CILS 118 shown in FIG. 2. In variousembodiments, the development environment 314 is implemented for thedevelopment of a custom application, which may subsequently be deployedin a public, private or hybrid cloud environment. In certainembodiments, the development environment 314 is implemented for thedevelopment of a custom sourcing agent, a custom bridging agent, acustom destination agent, or various analytics applications orextensions.

In various embodiments, the APIs 316 are implemented to build and managepredetermined cognitive applications 304, described in greater detailherein, which are then executed on the cognitive platform 310 togenerate cognitive insights. Likewise, the sourcing agents 318 areimplemented in various embodiments to source a variety of multi-site,multi-structured source streams of data described in greater detailherein. In various embodiments, the cognitive engine 320 includes adataset engine 322, a graph query engine 326, an insight/learning engine330, and foundation components 334. In certain embodiments, the datasetengine 322 is implemented to establish and maintain a dynamic dataingestion and enrichment pipeline. In these and other embodiments, thedataset engine 322 may be implemented to orchestrate one or moresourcing agents 318 to source data. Once the data is sourced, the dataset engine 322 performs data enriching and other data processingoperations, described in greater detail herein, and generates one ormore sub-graphs that are subsequently incorporated into a targetcognitive graph.

In various embodiments, the graph query engine 326 is implemented toreceive and process queries such that they can be bridged into acognitive graph, as described in greater detail herein, through the useof a bridging agent. In certain embodiments, the graph query engine 326performs various natural language processing (NLP), familiar to skilledpractitioners of the art, to process the queries. In variousembodiments, the insight/learning engine 330 is implemented toencapsulate a predetermined algorithm, which is then applied to acognitive graph to generate a result, such as a cognitive insight or arecommendation. In certain embodiments, one or more such algorithms maycontribute to answering a specific question and provide additionalcognitive insights or recommendations. In various embodiments, two ormore of the dataset engine 322, the graph query engine 326, and theinsight/learning engine 330 may be implemented to operatecollaboratively to generate a cognitive insight or recommendation. Incertain embodiments, one or more of the dataset engine 322, the graphquery engine 326, and the insight/learning engine 330 may operateautonomously to generate a cognitive insight or recommendation.

The foundation components 334 shown in FIG. 3 include various reusablecomponents, familiar to those of skill in the art, which are used invarious embodiments to enable the dataset engine 322, the graph queryengine 326, and the insight/learning engine 330 to perform theirrespective operations and processes. Examples of such foundationcomponents 334 include natural language processing (NLP) components andcore algorithms, such as cognitive algorithms.

In various embodiments, the platform data 338 includes various datarepositories, described in greater detail herein, that are accessed bythe cognitive platform 310 to generate cognitive insights. In variousembodiments, the destination agents 336 are implemented to publishcognitive insights to a consumer of cognitive insight data. Examples ofsuch consumers of cognitive insight data include target databases,business intelligence applications, and mobile applications. It will beappreciated that many such examples of cognitive insight data consumersare possible and the foregoing is not intended to limit the spirit,scope or intent of the invention. In various embodiments, as describedin greater detail herein, the cloud infrastructure 340 includescognitive cloud management 342 components and cloud analyticsinfrastructure components 344.

FIGS. 4a through 4c depict additional cognitive inference and learningsystem (CILS) components implemented in accordance with an embodiment ofthe CILS reference model shown in FIG. 3. In this embodiment, the CILSreference model includes client applications 302, applicationaccelerators 306, a cognitive platform 310, and cloud infrastructure340. As shown in FIG. 4a , the client applications 302 include cognitiveapplications 304. In various embodiments, the cognitive applications 304are implemented natively accept and understand human forms ofcommunication, such as natural language text, audio, images, video, andso forth. In certain embodiments, the cognitive applications 304 mayinclude healthcare 402, business performance 403, travel 404, andvarious other 405 applications familiar to skilled practitioners of theart. As such, the foregoing is only provided as examples of suchcognitive applications 304 and is not intended to limit the intent,spirit of scope of the invention.

In various embodiments, the application accelerators 306 include acognitive application framework 308. In certain embodiments, theapplication accelerators 308 and the cognitive application framework 308support various plug-ins and components that facilitate the creation ofclient applications 302 and cognitive applications 304. In variousembodiments, the application accelerators 306 include widgets, userinterface (UI) components, reports, charts, and back-end integrationcomponents familiar to those of skill in the art. It will be appreciatedthat many such application accelerators 306 are possible and theirprovided functionality, selection, provision and support are a matter ofdesign choice. As such, the application accelerators 306 described ingreater detail herein are not intended to limit the spirit, scope orintent of the invention.

As shown in FIGS. 4a and 4b , the cognitive platform 310 includes amanagement console 312, a development environment 314, applicationprogram interfaces (APIs) 316, sourcing agents 318, a cognitive engine320, destination agents 336, platform data 338, and a crawl framework452. In various embodiments, the management console 312 is implementedto manage accounts and projects, along with management metadata 461 thatis used to drive processes and operations within the cognitive platform310 for a predetermined project.

In various embodiments, the management console 312 is implemented to runvarious services on the cognitive platform 310. In certain embodiments,the management console 312 is implemented to manage the configuration ofthe cognitive platform 310. In certain embodiments, the managementconsole 312 is implemented to establish the development environment 314.In various embodiments, the management console 312 may be implemented tomanage the development environment 314 once it is established. Skilledpractitioners of the art will realize that many such embodiments arepossible and the foregoing is not intended to limit the spirit, scope orintent of the invention.

In various embodiments, the development environment 314 is implementedto create custom extensions to the CILS 118 shown in FIG. 2. In theseand other embodiments, the development environment 314 is implemented tosupport various programming languages, such as Python, Java, R, andothers familiar to skilled practitioners of the art. In variousembodiments, the development environment 314 is implemented to allow oneor more of these various programming languages to create a variety ofanalytic models and applications. As an example, the developmentenvironment 314 may be implemented to support the R programminglanguage, which in turn can be used to create an analytic model that isthen hosted on the cognitive platform 310.

In certain embodiments, the development environment 314 is implementedfor the development of various custom applications or extensions relatedto the cognitive platform 310, which may subsequently be deployed in apublic, private or hybrid cloud environment. In various embodiments, thedevelopment environment 314 is implemented for the development ofvarious custom sourcing agents 318, custom enrichment agents 425, custombridging agents 429, custom insight agents 433, custom destinationagents 336, and custom learning agents 434, which are described ingreater detail herein.

In various embodiments, the APIs 316 are implemented to build and managepredetermined cognitive applications 304, described in greater detailherein, which are then executed on the cognitive platform 310 togenerate cognitive insights. In these embodiments, the APIs 316 mayinclude one or more of a project and dataset API 408, a cognitive searchAPI 409, a cognitive insight API 410, and other APIs. The selection ofthe individual APIs 316 implemented in various embodiments is a matterdesign choice and the foregoing is not intended to limit the spirit,scope or intent of the invention.

In various embodiments, the project and dataset API 408 is implementedwith the management console 312 to enable the management of a variety ofdata and metadata associated with various cognitive insight projects anduser accounts hosted or supported by the cognitive platform 310. In oneembodiment, the data and metadata managed by the project and dataset API408 are associated with billing information familiar to those of skillin the art. In one embodiment, the project and dataset API 408 is usedto access a data stream that is created, configured and orchestrated, asdescribed in greater detail herein, by the dataset engine 322.

In various embodiments, the cognitive search API 409 uses naturallanguage processes familiar to those of skill in the art to search atarget cognitive graph. Likewise, the cognitive insight API 410 isimplemented in various embodiments to configure the insight/learningengine 330 to provide access to predetermined outputs from one or morecognitive graph algorithms that are executing in the cognitive platform310. In certain embodiments, the cognitive insight API 410 isimplemented to subscribe to, or request, such predetermined outputs.

In various embodiments, the sourcing agents 318 may include a batchupload 414 agent, an API connectors 415 agent, a real-time streams 416agent, a Structured Query Language (SQL)/Not Only SQL (NoSQL) databases417 agent, a message engines 418 agent, and one or more custom sourcing420 agents. Skilled practitioners of the art will realize that othertypes of sourcing agents 318 may be used in various embodiments and theforegoing is not intended to limit the spirit, scope or intent of theinvention. In various embodiments, the sourcing agents 318 areimplemented to source a variety of multi-site, multi-structured sourcestreams of data described in greater detail herein. In certainembodiments, each of the sourcing agents 318 has a corresponding API.

In various embodiments, the batch uploading 414 agent is implemented forbatch uploading of data to the cognitive platform 310. In theseembodiments, the uploaded data may include a single data element, asingle data record or file, or a plurality of data records or files. Incertain embodiments, the data may be uploaded from more than one sourceand the uploaded data may be in a homogenous or heterogeneous form. Invarious embodiments, the API connectors 415 agent is implemented tomanage interactions with one or more predetermined APIs that areexternal to the cognitive platform 310. As an example, Associated Press®may have their own API for news stories, Expedia® for travelinformation, or the National Weather Service for weather information. Inthese examples, the API connectors 415 agent would be implemented todetermine how to respectively interact with each organization's API suchthat the cognitive platform 310 can receive information.

In various embodiments, the real-time streams 416 agent is implementedto receive various streams of data, such as social media streams (e.g.,Twitter feeds) or other data streams (e.g., device data streams). Inthese embodiments, the streams of data are received in near-real-time.In certain embodiments, the data streams include temporal attributes. Asan example, as data is added to a blog file, it is time-stamped tocreate temporal data. Other examples of a temporal data stream includeTwitter feeds, stock ticker streams, device location streams from adevice that is tracking location, medical devices tracking a patient'svital signs, and intelligent thermostats used to improve energyefficiency for homes.

In certain embodiments, the temporal attributes define a time window,which can be correlated to various elements of data contained in thestream. For example, as a given time window changes, associated data mayhave a corresponding change. In various embodiments, the temporalattributes do not define a time window. As an example, a social mediafeed may not have predetermined time windows, yet it is still temporal.As a result, the social media feed can be processed to determine whathappened in the last 24 hours, what happened in the last hour, whathappened in the last 15 minutes, and then determine related subjectmatter that is trending.

In various embodiments, the SQL/NoSQL databases 417 agent is implementedto interact with one or more target databases familiar to those of skillin the art. For example, the target database may include a SQL, NoSQL,delimited flat file, or other form of database. In various embodiments,the message engines 418 agent is implemented to provide data to thecognitive platform 310 from one or more message engines, such as amessage queue (MQ) system, a message bus, a message broker, anenterprise service bus (ESB), and so forth. Skilled practitioners of theart will realize that there are many such examples of message engineswith which the message engines 418 agent may interact and the foregoingis not intended to limit the spirit, scope or intent of the invention.

In various embodiments, the custom sourcing agents 420, which arepurpose-built, are developed through the use of the developmentenvironment 314, described in greater detail herein. Examples of customsourcing agents 420 include sourcing agents for various electronicmedical record (EMR) systems at various healthcare facilities. Such EMRsystems typically collect a variety of healthcare information, much ofit the same, yet it may be collected, stored and provided in differentways. In this example, the custom sourcing agents 420 allow thecognitive platform 310 to receive information from each disparatehealthcare source.

In various embodiments, the cognitive engine 320 includes a datasetengine 322, a graph engine 326, an insight/learning engine 330, learningagents 434, and foundation components 334. In these and otherembodiments, the dataset engine 322 is implemented as described ingreater detail to establish and maintain a dynamic data ingestion andenrichment pipeline. In various embodiments, the dataset engine 322 mayinclude a pipelines 422 component, an enrichment 423 component, astorage component 424, and one or more enrichment agents 425.

In various embodiments, the pipelines 422 component is implemented toingest various data provided by the sourcing agents 318. Once ingested,this data is converted by the pipelines 422 component into streams ofdata for processing. In certain embodiments, these managed streams areprovided to the enrichment 423 component, which performs data enrichmentoperations familiar to those of skill in the art. As an example, a datastream may be sourced from Associated Press® by a sourcing agent 318 andprovided to the dataset engine 322. The pipelines 422 component receivesthe data stream and routes it to the enrichment 423 component, whichthen enriches the data stream by performing sentiment analysis,geotagging, and entity detection operations to generate an enriched datastream. In certain embodiments, the enrichment operations includefiltering operations familiar to skilled practitioners of the art. Tofurther the preceding example, the Associated Press® data stream may befiltered by a predetermined geography attribute to generate an enricheddata stream.

The enriched data stream is then subsequently stored, as described ingreater detail herein, in a predetermined location. In variousembodiments, the enriched data stream is cached by the storage 424component to provide a local version of the enriched data stream. Incertain embodiments, the cached, enriched data stream is implemented tobe “replayed” by the cognitive engine 320. In one embodiment, thereplaying of the cached, enriched data stream allows incrementalingestion of the enriched data stream instead of ingesting the entireenriched data stream at one time. In various embodiments, one or moreenrichment agents 425 are implemented to be invoked by the enrichmentcomponent 423 to perform one or more enrichment operations described ingreater detail herein.

In various embodiments, the graph query engine 326 is implemented toreceive and process queries such that they can be bridged into acognitive graph, as described in greater detail herein, through the useof a bridging agent. In these embodiments, the graph query engine 326may include a query 426 component, a translate 427 component, a bridge428 component, and one or more bridging agents 429.

In various embodiments, the query 426 component is implemented tosupport natural language queries. In these and other embodiments, thequery 426 component receives queries, processes them (e.g., using NLPprocesses), and then maps the processed query to a target cognitivegraph. In various embodiments, the translate 427 component isimplemented to convert the processed queries provided by the query 426component into a form that can be used to query a target cognitivegraph. To further differentiate the distinction between thefunctionality respectively provided by the query 426 and translate 427components, the query 426 component is oriented toward understanding aquery from a user. In contrast, the translate 427 component is orientedto translating a query that is understood into a form that can be usedto query a cognitive graph.

In various embodiments, the bridge 428 component is implemented togenerate an answer to a query provided by the translate 427 component.In certain embodiments, the bridge 428 component is implemented toprovide domain-specific responses when bridging a translated query to acognitive graph. For example, the same query bridged to a targetcognitive graph by the bridge 428 component may result in differentanswers for different domains, dependent upon domain-specific bridgingoperations performed by the bridge 428 component.

To further differentiate the distinction between the translate 427component and the bridging 428 component, the translate 427 componentrelates to a general domain translation of a question. In contrast, thebridging 428 component allows the question to be asked in the context ofa specific domain (e.g., healthcare, travel, etc.), given what is knownabout the data. In certain embodiments, the bridging 428 component isimplemented to process what is known about the translated query, in thecontext of the user, to provide an answer that is relevant to a specificdomain.

As an example, a user may ask, “Where should I eat today?” If the userhas been prescribed a particular health regimen, the bridging 428component may suggest a restaurant with a “heart healthy” menu. However,if the user is a business traveler, the bridging 428 component maysuggest the nearest restaurant that has the user's favorite food. Invarious embodiments, the bridging 428 component may provide answers, orsuggestions, that are composed and ranked according to a specific domainof use. In various embodiments, the bridging agent 429 is implemented tointeract with the bridging component 428 to perform bridging operationsdescribed in greater detail herein. In these embodiments, the bridgingagent interprets a translated query generated by the query 426 componentwithin a predetermined user context, and then maps it to predeterminednodes and links within a target cognitive graph.

In various embodiments, the insight/learning engine 330 is implementedto encapsulate a predetermined algorithm, which is then applied to atarget cognitive graph to generate a result, such as a cognitive insightor a recommendation. In certain embodiments, one or more such algorithmsmay contribute to answering a specific question and provide additionalcognitive insights or recommendations. In these and other embodiments,the insight/learning engine 330 is implemented to performinsight/learning operations, described in greater detail herein. Invarious embodiments, the insight/learning engine 330 may include adiscover/visibility 430 component, a predict 431 component, arank/recommend 432 component, and one or more insight 433 agents.

In various embodiments, the discover/visibility 430 component isimplemented to provide detailed information related to a predeterminedtopic, such as a subject or an event, along with associated historicalinformation. In certain embodiments, the predict 431 component isimplemented to perform predictive operations to provide insight intowhat may next occur for a predetermined topic. In various embodiments,the rank/recommend 432 component is implemented to perform ranking andrecommendation operations to provide a user prioritized recommendationsassociated with a provided cognitive insight.

In certain embodiments, the insight/learning engine 330 may includeadditional components. For example the additional components may includeclassification algorithms, clustering algorithms, and so forth. Skilledpractitioners of the art will realize that many such additionalcomponents are possible and that the foregoing is not intended to limitthe spirit, scope or intent of the invention. In various embodiments,the insights agents 433 are implemented to create a visual data story,highlighting user-specific insights, relationships and recommendations.As a result, it can share, operationalize, or track business insights invarious embodiments. In various embodiments, the learning agent 434 workin the background to continually update the cognitive graph, asdescribed in greater detail herein, from each unique interaction withdata and users.

In various embodiments, the destination agents 336 are implemented topublish cognitive insights to a consumer of cognitive insight data.Examples of such consumers of cognitive insight data include targetdatabases, business intelligence applications, and mobile applications.In various embodiments, the destination agents 336 may include aHypertext Transfer Protocol (HTTP) stream 440 agent, an API connectors441 agent, a databases 442 agent, a message engines 443 agent, a mobilepush notification 444 agent, and one or more custom destination 446agents. Skilled practitioners of the art will realize that other typesof destination agents 318 may be used in various embodiments and theforegoing is not intended to limit the spirit, scope or intent of theinvention. In certain embodiments, each of the destination agents 318has a corresponding API.

In various embodiments, the HTTP stream 440 agent is implemented forproviding various HTTP streams of cognitive insight data to apredetermined cognitive data consumer. In these embodiments, theprovided HTTP streams may include various HTTP data elements familiar tothose of skill in the art. In certain embodiments, the HTTP streams ofdata are provided in near-real-time. In various embodiments, the APIconnectors 441 agent is implemented to manage interactions with one ormore predetermined APIs that are external to the cognitive platform 310.As an example, various target databases, business intelligenceapplications, and mobile applications may each have their own uniqueAPI.

In various embodiments, the databases 442 agent is implemented forprovision of cognitive insight data to one or more target databasesfamiliar to those of skill in the art. For example, the target databasemay include a SQL, NoSQL, delimited flat file, or other form ofdatabase. In these embodiments, the provided cognitive insight data mayinclude a single data element, a single data record or file, or aplurality of data records or files. In certain embodiments, the data maybe provided to more than one cognitive data consumer and the provideddata may be in a homogenous or heterogeneous form. In variousembodiments, the message engines 443 agent is implemented to providecognitive insight data to one or more message engines, such as a messagequeue (MQ) system, a message bus, a message broker, an enterpriseservice bus (ESB), and so forth. Skilled practitioners of the art willrealize that there are many such examples of message engines with whichthe message engines 443 agent may interact and the foregoing is notintended to limit the spirit, scope or intent of the invention.

In various embodiments, the custom destination agents 420, which arepurpose-built, are developed through the use of the developmentenvironment 314, described in greater detail herein. Examples of customdestination agents 420 include destination agents for various electronicmedical record (EMR) systems at various healthcare facilities. Such EMRsystems typically collect a variety of healthcare information, much ofit the same, yet it may be collected, stored and provided in differentways. In this example, the custom destination agents 420 allow such EMRsystems to receive cognitive insight data in a form they can use.

In various embodiments, data that has been cleansed, normalized andenriched by the dataset engine, as described in greater detail herein,is provided by a destination agent 336 to a predetermined destination,likewise described in greater detail herein. In these embodiments,neither the graph query engine 326 nor the insight/learning engine 330are implemented to perform their respective functions.

In various embodiments, the foundation components 334 are implemented toenable the dataset engine 322, the graph query engine 326, and theinsight/learning engine 330 to perform their respective operations andprocesses. In these and other embodiments, the foundation components 334may include an NLP core 436 component, an NLP services 437 component,and a dynamic pipeline engine 438. In various embodiments, the NLP core436 component is implemented to provide a set of predetermined NLPcomponents for performing various NLP operations described in greaterdetail herein.

In these embodiments, certain of these NLP core components are surfacedthrough the NLP services 437 component, while some are used aslibraries. Examples of operations that are performed with suchcomponents include dependency parsing, parts-of-speech tagging, sentencepattern detection, and so forth. In various embodiments, the NLPservices 437 component is implemented to provide various internal NLPservices, which are used to perform entity detection, summarization, andother operations, likewise described in greater detail herein. In theseembodiments, the NLP services 437 component is implemented to interactwith the NLP core 436 component to provide predetermined NLP services,such as summarizing a target paragraph.

In various embodiments, the dynamic pipeline engine 438 is implementedto interact with the dataset engine 322 to perform various operationsrelated to receiving one or more sets of data from one or more sourcingagents, apply enrichment to the data, and then provide the enriched datato a predetermined destination. In these and other embodiments, thedynamic pipeline engine 438 manages the distribution of these variousoperations to a predetermined compute cluster and tracks versioning ofthe data as it is processed across various distributed computingresources. In certain embodiments, the dynamic pipeline engine 438 isimplemented to perform data sovereignty management operations tomaintain sovereignty of the data.

In various embodiments, the platform data 338 includes various datarepositories, described in greater detail herein, that are accessed bythe cognitive platform 310 to generate cognitive insights. In theseembodiments, the platform data 338 repositories may include repositoriesof dataset metadata 456, cognitive graphs 457, models 459, crawl data460, and management metadata 461. In various embodiments, the datasetmetadata 456 is associated with curated data 458 contained in therepository of cognitive graphs 457. In these and other embodiments, therepository of dataset metadata 456 contains dataset metadata thatsupports operations performed by the storage 424 component of thedataset engine 322. For example, if a Mongo® NoSQL database with tenmillion items is being processed, and the cognitive platform 310 failsafter ingesting nine million of the items, then the dataset metadata 456may be able to provide a checkpoint that allows ingestion to continue atthe point of failure instead restarting the ingestion process.

Those of skill in the art will realize that the use of such datasetmetadata 456 in various embodiments allows the dataset engine 322 to bestateful. In certain embodiments, the dataset metadata 456 allowssupport of versioning. For example versioning may be used to trackversions of modifications made to data, such as in data enrichmentprocesses described in greater detail herein. As another example,geotagging information may have been applied to a set of data during afirst enrichment process, which creates a first version of enricheddata. Adding sentiment data to the same million records during a secondenrichment process creates a second version of enriched data. In thisexample, the dataset metadata stored in the dataset metadata 456provides tracking of the different versions of the enriched data and thedifferences between the two.

In various embodiments, the repository of cognitive graphs 457 isimplemented to store cognitive graphs generated, accessed, and updatedby the cognitive engine 320 in the process of generating cognitiveinsights. In various embodiments, the repository of cognitive graphs 457may include one or more repositories of curated data 458, described ingreater detail herein. In certain embodiments, the repositories ofcurated data 458 includes data that has been curated by one or moreusers, machine operations, or a combination of the two, by performingvarious sourcing, filtering, and enriching operations described ingreater detail herein. In these and other embodiments, the curated data458 is ingested by the cognitive platform 310 and then processed, aslikewise described in greater detail herein, to generate cognitiveinsights. In various embodiments, the repository of models 459 isimplemented to store models that are generated, accessed, and updated bythe cognitive engine 320 in the process of generating cognitiveinsights. As used herein, models broadly refer to machine learningmodels. In certain embodiments, the models include one or morestatistical models.

In various embodiments, the crawl framework 452 is implemented tosupport various crawlers 454 familiar to skilled practitioners of theart. In certain embodiments, the crawlers 454 are custom configured forvarious target domains. For example, different crawlers 454 may be usedfor various travel forums, travel blogs, travel news and other travelsites. In various embodiments, data collected by the crawlers 454 isprovided by the crawl framework 452 to the repository of crawl data 460.In these embodiments, the collected crawl data is processed and thenstored in a normalized form in the repository of crawl data 460. Thenormalized data is then provided to SQL/NoSQL database 417 agent, whichin turn provides it to the dataset engine 322. In one embodiment, thecrawl database 460 is a NoSQL database, such as Mongo®.

In various embodiments, the repository of management metadata 461 isimplemented to store user-specific metadata used by the managementconsole 312 to manage accounts (e.g., billing information) and projects.In certain embodiments, the user-specific metadata stored in therepository of management metadata 461 is used by the management console312 to drive processes and operations within the cognitive platform 310for a predetermined project. In various embodiments, the user-specificmetadata stored in the repository of management metadata 461 is used toenforce data sovereignty. It will be appreciated that many suchembodiments are possible and the foregoing is not intended to limit thespirit, scope or intent of the invention.

Referring now to FIG. 4c , the cloud infrastructure 340 may include acognitive cloud management 342 component and a cloud analyticsinfrastructure 344 component in various embodiments. Current examples ofa cloud infrastructure 340 include Amazon Web Services (AWS®), availablefrom Amazon.com® of Seattle, Wash., IBM® Softlayer, available fromInternational Business Machines of Armonk, N.Y., and Nebula/Openstack, ajoint project between Raskspace Hosting®, of Windcrest, Tex., and theNational Aeronautics and Space Administration (NASA). In theseembodiments, the cognitive cloud management 342 component may include amanagement playbooks 468 sub-component, a cognitive cloud managementconsole 469 sub-component, a data console 470 sub-component, an assetrepository 471 sub-component. In certain embodiments, the cognitivecloud management 342 component may include various other sub-components.

In various embodiments, the management playbooks 468 sub-component isimplemented to automate the creation and management of the cloudanalytics infrastructure 344 component along with various otheroperations and processes related to the cloud infrastructure 340. Asused herein, “management playbooks” broadly refers to any set ofinstructions or data, such as scripts and configuration data, that isimplemented by the management playbooks 468 sub-component to perform itsassociated operations and processes.

In various embodiments, the cognitive cloud management console 469sub-component is implemented to provide a user visibility and managementcontrols related to the cloud analytics infrastructure 344 componentalong with various other operations and processes related to the cloudinfrastructure 340. In various embodiments, the data console 470sub-component is implemented to manage platform data 338, described ingreater detail herein. In various embodiments, the asset repository 471sub-component is implemented to provide access to various cognitivecloud infrastructure assets, such as asset configurations, machineimages, and cognitive insight stack configurations.

In various embodiments, the cloud analytics infrastructure 344 componentmay include a data grid 472 sub-component, a distributed compute engine474 sub-component, and a compute cluster management 476 sub-component.In these embodiments, the cloud analytics infrastructure 344 componentmay also include a distributed object storage 478 sub-component, adistributed full text search 480 sub-component, a document database 482sub-component, a graph database 484 sub-component, and various othersub-components. In various embodiments, the data grid 472 sub-componentis implemented to provide distributed and shared memory that allows thesharing of objects across various data structures. One example of a datagrid 472 sub-component is Redis, an open-source, networked, in-memory,key-value data store, with optional durability, written in ANSI C. Invarious embodiments, the distributed compute engine 474 sub-component isimplemented to allow the cognitive platform 310 to perform variouscognitive insight operations and processes in a distributed computingenvironment. Examples of such cognitive insight operations and processesinclude batch operations and streaming analytics processes.

In various embodiments, the compute cluster management 476 sub-componentis implemented to manage various computing resources as a computecluster. One such example of such a compute cluster management 476sub-component is Mesos/Nimbus, a cluster management platform thatmanages distributed hardware resources into a single pool of resourcesthat can be used by application frameworks to efficiently manageworkload distribution for both batch jobs and long-running services. Invarious embodiments, the distributed object storage 478 sub-component isimplemented to manage the physical storage and retrieval of distributedobjects (e.g., binary file, image, text, etc.) in a cloud environment.Examples of a distributed object storage 478 sub-component includeAmazon S3®, available from Amazon.com of Seattle, Wash., and Swift, anopen source, scalable and redundant storage system.

In various embodiments, the distributed full text search 480sub-component is implemented to perform various full text searchoperations familiar to those of skill in the art within a cloudenvironment. In various embodiments, the document database 482sub-component is implemented to manage the physical storage andretrieval of structured data in a cloud environment. Examples of suchstructured data include social, public, private, and device data, asdescribed in greater detail herein. In certain embodiments, thestructured data includes data that is implemented in the JavaScriptObject Notation (JSON) format. One example of a document database 482sub-component is Mongo, an open source cross-platform document-orienteddatabase. In various embodiments, the graph database 484 sub-componentis implemented to manage the physical storage and retrieval of cognitivegraphs. One example of a graph database 484 sub-component is GraphDB, anopen source graph database familiar to those of skill in the art.

FIG. 5 is a simplified process diagram of cognitive inference andlearning system (CILS) operations performed in accordance with anembodiment of the invention. In various embodiments, these CILSoperations may include a perceive 506 phase, a relate 508 phase, anoperate 510 phase, a process and execute 512 phase, and a learn 514phase. In these and other embodiments, the CILS 118 shown in FIG. 2 isimplemented to mimic cognitive processes associated with the humanbrain. In various embodiments, the CILS operations are performed throughthe implementation of a cognitive platform 310, described in greaterdetail herein. In these and other embodiments, the cognitive platform310 may be implemented within a cloud analytics infrastructure 344,which in turn is implemented within a cloud infrastructure 340, likewisedescribed in greater detail herein.

In various embodiments, multi-site, multi-structured source streams 504are provided by sourcing agents, as described in greater detail herein.In these embodiments, the source streams 504 are dynamically ingested inreal-time during the perceive 506 phase, and based upon a predeterminedcontext, extraction, parsing, and tagging operations are performed onlanguage, text and images contained in the source streams 504. Automaticfeature extraction and modeling operations are then performed with thepreviously processed source streams 504 during the relate 508 phase togenerate queries to identify related data (i.e., corpus expansion).

In various embodiments, operations are performed during the operate 510phase to discover, summarize and prioritize various concepts, which arein turn used to generate actionable recommendations and notificationsassociated with predetermined plan-based optimization goals. Theresulting actionable recommendations and notifications are thenprocessed during the process and execute 512 phase to provide cognitiveinsights, such as recommendations, to various predetermined destinationsand associated application programming interfaces (APIs) 524.

In various embodiments, features from newly-observed data areautomatically extracted from user feedback during the learn 514 phase toimprove various analytical models. In these embodiments, the learn 514phase includes feedback on observations generated during the relate 508phase, which is provided to the perceive 506 phase. Likewise, feedbackon decisions resulting from operations performed during the operate 510phase, and feedback on results resulting from operations performedduring the process and execute 512 phase, are also provided to theperceive 506 phase.

In various embodiments, user interactions result from operationsperformed during the process and execute 512 phase. In theseembodiments, data associated with the user interactions are provided tothe perceive 506 phase as unfolding interactions 522, which includeevents that occur external to the CILS operations described in greaterdetail herein. As an example, a first query from a user may be submittedto the CILS system, which in turn generates a first cognitive insight,which is then provided to the user. In response, the user may respond byproviding a first response, or perhaps a second query, either of whichis provided in the same context as the first query. The CILS receivesthe first response or second query, performs various CILS operations,and provides the user a second cognitive insight. As before, the usermay respond with a second response or a third query, again in thecontext of the first query. Once again, the CILS performs various CILSoperations and provides the user a third cognitive insight, and soforth. In this example, the provision of cognitive insights to the user,and their various associated responses, results in unfoldinginteractions 522, which in turn result in a stateful dialog that evolvesover time. Skilled practitioners of the art will likewise realize thatsuch unfolding interactions 522, occur outside of the CILS operationsperformed by the cognitive platform 310.

FIG. 6 depicts the lifecycle of CILS agents implemented in accordancewith an embodiment of the invention to perform CILS operations. Invarious embodiments, the CILS agents lifecycle 602 may includeimplementation of a sourcing 318 agent, an enrichment 425 agent, abridging 429 agent, an insight 433 agent, a destination 336 agent, and alearning 434 agent. In these embodiments, the sourcing 318 agent isimplemented to source a variety of multi-site, multi-structured sourcestreams of data described in greater detail herein. These sourced datastreams are then provided to an enrichment 425 agent, which then invokesan enrichment component to perform enrichment operations to generateenriched data streams, likewise described in greater detail herein.

The enriched data streams are then provided to a bridging 429 agent,which is used to perform bridging operations described in greater detailherein. In turn, the results of the bridging operations are provided toan insight 433 agent, which is implemented as described in greaterdetail herein to create a visual data story, highlighting user-specificinsights, relationships and recommendations. The resulting visual datastory is then provided to a destination 336 agent, which is implementedto publish cognitive insights to a consumer of cognitive insight data,likewise as described in greater detail herein. In response, theconsumer of cognitive insight data provides feedback to a learning 434agent, which is implemented as described in greater detail herein toprovide the feedback to the sourcing agent 318, at which point the CILSagents lifecycle 602 is continued. From the foregoing, skilledpractitioners of the art will recognize that each iteration of thecognitive agents lifecycle 602 provides more informed cognitiveinsights.

FIG. 7 is a simplified block diagram of a plurality of cognitiveplatforms implemented in accordance with an embodiment of the inventionwithin a hybrid cloud infrastructure. In this embodiment, the hybridcloud infrastructure 740 includes a cognitive cloud management 342component, a hosted 704 cognitive cloud environment, and a private 706network environment. As shown in FIG. 7, the hosted 704 cognitive cloudenvironment includes a hosted 710 cognitive platform, such as thecognitive platform 310 shown in FIGS. 3, 4 a, and 4 b. In variousembodiments, the hosted 704 cognitive cloud environment may also includea hosted 718 universal knowledge repository and one or more repositoriesof curated public data 714 and licensed data 716. Likewise, the hosted710 cognitive platform may also include a hosted 712 analyticsinfrastructure, such as the cloud analytics infrastructure 344 shown inFIGS. 3 and 4 c.

As likewise shown in FIG. 7, the private 706 network environmentincludes a private 720 cognitive platform, such as the cognitiveplatform 310 shown in FIGS. 3, 4 a, and 4 b. In various embodiments, theprivate 706 network cognitive cloud environment may also include aprivate 728 universal knowledge repository and one or more repositoriesof application data 724 and private data 726. Likewise, the private 720cognitive platform may also include a private 722 analyticsinfrastructure, such as the cloud analytics infrastructure 344 shown inFIGS. 3 and 4 c. In certain embodiments, the private 706 networkenvironment may have one or more private 736 cognitive applicationsimplemented to interact with the private 720 cognitive platform.

As used herein, a universal knowledge repository broadly refers to acollection of knowledge elements that can be used in various embodimentsto generate one or more cognitive insights described in greater detailherein. In various embodiments, these knowledge elements may includefacts (e.g., milk is a dairy product), information (e.g., an answer to aquestion), descriptions (e.g., the color of an automobile), skills(e.g., the ability to install plumbing fixtures), and other classes ofknowledge familiar to those of skill in the art. In these embodiments,the knowledge elements may be explicit or implicit. As an example, thefact that water freezes at zero degrees centigrade would be an explicitknowledge element, while the fact that an automobile mechanic knows howto repair an automobile would be an implicit knowledge element.

In certain embodiments, the knowledge elements within a universalknowledge repository may also include statements, assertions, beliefs,perceptions, preferences, sentiments, attitudes or opinions associatedwith a person or a group. As an example, user ‘A’ may prefer the pizzaserved by a first restaurant, while user ‘B’ may prefer the pizza servedby a second restaurant. Furthermore, both user ‘A’ and ‘B’ are firmly ofthe opinion that the first and second restaurants respectively serve thevery best pizza available. In this example, the respective preferencesand opinions of users ‘A’ and ‘B’ regarding the first and secondrestaurant may be included in the universal knowledge repository 880 asthey are not contradictory. Instead, they are simply knowledge elementsrespectively associated with the two users and can be used in variousembodiments for the generation of various cognitive insights, asdescribed in greater detail herein.

In various embodiments, individual knowledge elements respectivelyassociated with the hosted 718 and private 728 universal knowledgerepositories may be distributed. In one embodiment, the distributedknowledge elements may be stored in a plurality of data stores familiarto skilled practitioners of the art. In this embodiment, the distributedknowledge elements may be logically unified for various implementationsof the hosted 718 and private 728 universal knowledge repositories. Incertain embodiments, the hosted 718 and private 728 universal knowledgerepositories may be respectively implemented in the form of a hosted orprivate universal cognitive graph. In these embodiments, nodes withinthe hosted or private universal graph contain one or more knowledgeelements.

In various embodiments, a secure tunnel 730, such as a virtual privatenetwork (VPN) tunnel, is implemented to allow the hosted 710 cognitiveplatform and the private 720 cognitive platform to communicate with oneanother. In these various embodiments, the ability to communicate withone another allows the hosted 710 and private 720 cognitive platforms towork collaboratively when generating cognitive insights described ingreater detail herein. In various embodiments, the hosted 710 cognitiveplatform accesses knowledge elements stored in the hosted 718 universalknowledge repository and data stored in the repositories of curatedpublic data 714 and licensed data 716 to generate various cognitiveinsights. In certain embodiments, the resulting cognitive insights arethen provided to the private 720 cognitive platform, which in turnprovides them to the one or more private cognitive applications 736.

In various embodiments, the private 720 cognitive platform accessesknowledge elements stored in the private 728 universal knowledgerepository and data stored in the repositories of application data 724and private data 726 to generate various cognitive insights. In turn,the resulting cognitive insights are then provided to the one or moreprivate cognitive applications 736. In certain embodiments, the private720 cognitive platform accesses knowledge elements stored in the hosted718 and private 728 universal knowledge repositories and data stored inthe repositories of curated public data 714, licensed data 716,application data 724 and private data 726 to generate various cognitiveinsights. In these embodiments, the resulting cognitive insights are inturn provided to the one or more private cognitive applications 736.

In various embodiments, the secure tunnel 730 is implemented for thehosted 710 cognitive platform to provide 732 predetermined data andknowledge elements to the private 720 cognitive platform. In oneembodiment, the provision 732 of predetermined knowledge elements allowsthe hosted 718 universal knowledge repository to be replicated as theprivate 728 universal knowledge repository. In another embodiment, theprovision 732 of predetermined knowledge elements allows the hosted 718universal knowledge repository to provide updates 734 to the private 728universal knowledge repository. In certain embodiments, the updates 734to the private 728 universal knowledge repository do not overwrite otherdata. Instead, the updates 734 are simply added to the private 728universal knowledge repository.

In one embodiment, knowledge elements that are added to the private 728universal knowledge repository are not provided to the hosted 718universal knowledge repository. As an example, an airline may not wishto share private information related to its customer's flights, theprice paid for tickets, their awards program status, and so forth. Inanother embodiment, predetermined knowledge elements that are added tothe private 728 universal knowledge repository may be provided to thehosted 718 universal knowledge repository. As an example, the operatorof the private 720 cognitive platform may decide to licensepredetermined knowledge elements stored in the private 728 universalknowledge repository to the operator of the hosted 710 cognitiveplatform. To continue the example, certain knowledge elements stored inthe private 728 universal knowledge repository may be anonymized priorto being provided for inclusion in the hosted 718 universal knowledgerepository. In one embodiment, only private knowledge elements arestored in the private 728 universal knowledge repository. In thisembodiment, the private 720 cognitive platform may use knowledgeelements stored in both the hosted 718 and private 728 universalknowledge repositories to generate cognitive insights. Skilledpractitioners of the art will recognize that many such embodiments arepossible and the foregoing is not intended to limit the spirit, scope orintent of the invention.

FIG. 8 depicts a cognitive persona defined in accordance with anembodiment of the invention by a first set of nodes in a cognitivegraph. As used herein, a cognitive persona broadly refers to anarchetype user model that represents a common set of attributesassociated with a hypothesized group of users. In various embodiments,the common set of attributes may be described through the use ofdemographic, geographic, psychographic, behavioristic, and otherinformation. As an example, the demographic information may include agebrackets (e.g., 25 to 34 years old), gender, marital status (e.g.,single, married, divorced, etc.), family size, income brackets,occupational classifications, educational achievement, and so forth.Likewise, the geographic information may include the cognitive persona'stypical living and working locations (e.g., rural, semi-rural, suburban,urban, etc.) as well as characteristics associated with individuallocations (e.g., parochial, cosmopolitan, population density, etc.).

The psychographic information may likewise include information relatedto social class (e.g., upper, middle, lower, etc.), lifestyle (e.g.,active, healthy, sedentary, reclusive, etc.), interests (e.g., music,art, sports, etc.), and activities (e.g., hobbies, travel, going tomovies or the theatre, etc.). Other psychographic information may berelated to opinions, attitudes (e.g., conservative, liberal, etc.),preferences, motivations (e.g., living sustainably, exploring newlocations, etc.), and personality characteristics (e.g., extroverted,introverted, etc.) Likewise, the behavioristic information may includeinformation related to knowledge and attitude towards variousmanufacturers or organizations and the products or services they mayprovide. To continue the example, the behavioristic information may berelated to brand loyalty, interest in purchasing a product or using aservice, usage rates, perceived benefits, and so forth. Skilledpractitioners of the art will recognize that many such attributes arepossible and the foregoing is not intended to limit the spirit, scope orintent of the invention.

In various embodiments, one or more cognitive personas may be associatedwith a predetermined user. In certain embodiments, a predeterminedcognitive persona is selected and then used by a cognitive inference andlearning system (CILS) to generate one or more composite cognitiveinsights as described in greater detail herein. In these embodiments,the composite cognitive insights that are generated for a user as aresult of using a first cognitive persona may be different than thecomposite cognitive insights that are generated as a result of using asecond cognitive persona. In various embodiments, provision of thecomposite cognitive insights results in the CILS receiving feedbackinformation from various individual users and other sources. In oneembodiment, the feedback information is used to revise or modify thecognitive persona. In another embodiment, the feedback information isused to create a new cognitive persona. In yet another embodiment, thefeedback information is used to create one or more associated cognitivepersonas, which inherit a common set of attributes from a sourcecognitive persona. In one embodiment, the feedback information is usedto create a new cognitive persona that combines attributes from two ormore source cognitive personas. In another embodiment, the feedbackinformation is used to create a cognitive profile, described in greaterdetail herein, based upon the cognitive persona. Those of skill in theart will realize that many such embodiments are possible and theforegoing is not intended to limit the spirit, scope or intent of theinvention.

In this embodiment, a cognitive persona 802 is defined by attributes A₁804, A₂ 806, A₃ 808, A₄ 810, A₅ 812, A₆ 814, A₇ 816, which arerespectively associated with a set of corresponding nodes in cognitivegraph 800. As shown in FIG. 8, the cognitive persona 802 is associatedwith attributes A₁ 804 and A₄ 810, which are in turn respectivelyassociated with attributes A₂ 806, A₃ 808, A₅ 812, and A₆ 814. Likewise,attributes A₁ 804 and A₄ 810 are associated with each other as well aswith attribute A₇ 816.

As an example, the cognitive persona 802 may represent a teacher oftheatrical arts who also has an interest in history. In this example,attribute A₁ 804 may be a demographic attribute representing theprofession of teaching theatrical arts, while attribute A₄ 810 may be apsychographic attribute associated with an interest in history. Tocontinue the example, demographic attributes A₂ 806 and A₃ 808 mayrespectively be associated with teaching stage and film aspects oftheatrical arts, while psychographic attributes A₅ 812 and A₆ 814 mayrespectively associated with an interest in European and Americanhistory. Likewise, attribute A₇ 816 may be associated with periodcostumes, which relates to both teaching theatrical arts and an interestin history. In certain embodiments, an attribute may be associated withtwo or more classes of attributes. For example, attribute A₇ 816 may bea demographic attribute, a psychographic attribute, or both. In variousembodiments, the cognitive persona 802 may be defined by additionalattributes than those shown in FIG. 8. In certain embodiments, thecognitive persona 802 may be defined by fewer attributes than thoseshown in FIG. 8.

FIG. 9 depicts a cognitive profile defined in accordance with anembodiment of the invention by the addition of a second set of nodes tothe first set of nodes in the cognitive graph shown in FIG. 8. As usedherein, a cognitive profile refers to an instance of a cognitive personathat references personal data associated with a predetermined user. Invarious embodiments, the personal data may include the user's name,address, Social Security Number (SSN), age, gender, marital status,occupation, employer, income, education, skills, knowledge, interests,preferences, likes and dislikes, goals and plans, and so forth. Incertain embodiments, the personal data may include data associated withthe user's interaction with a cognitive inference and learning system(CILS) and related composite cognitive insights that are generated andprovided to the user. In various embodiments, the personal data may bedistributed. In certain of these embodiments, predetermined subsets ofthe distributed personal data may be logically aggregated to generateone or more cognitive profiles, each of which is associated with theuser. Skilled practitioners of the art will recognize that many suchembodiments are possible and the foregoing is not intended to limit thespirit, scope or intent of the invention.

In this embodiment, a cognitive profile 902 is defined by the additionof attributes A₈ 918, A₉ 920, A₁₀ 922, A₁₁ 924 to attributes A₁ 804, A₂806, A₃ 808, A₄ 810, A₅ 812, A₆ 814, A₇ 816, all of which arerespectively associated with a set of corresponding nodes in cognitivegraph 900. As shown in FIG. 9, the cognitive profile 902 is associatedwith attributes A₁ 804 and A₄ 810, which are in turn respectivelyassociated with attributes A₂ 806, A₃ 808, A₅ 812, and A₆ 814. Likewise,attributes A_(l) 804 and A₄ 810 are associated with each other as wellas with attribute A₇ 816. As likewise shown in FIG. 9, attribute A₇ 816is associated with attributes A₉ 920 and A₁₁ 924, both of which areassociated with attribute A₁₀ 922. Likewise, attribute A₁₁ 924 isassociated with attribute A₃ 808, while attribute A₈ 918 is associatedwith attributes A₆ 814, A₉ 920 and A₁₁ 924.

To continue the example described in the descriptive text associatedwith FIG. 8, psychographic attributes Ag₈ 918, A₉ 920, and A₁₀ 922 mayrespectively be associated with the Union, the Civil War, and the battleof Gettysburg. Likewise, attribute A₁₁ 924 may be a demographicattribute, a psychographic attribute, or both as it is associated withattribute A₇ 816, which may also be a demographic attribute, apsychographic attribute, or both. In various embodiments, the cognitiveprofile 902 may be defined by additional attributes than those shown inFIG. 9. In certain embodiments, the cognitive profile 902 may be definedby fewer attributes than those shown in FIG. 9.

FIG. 10 depicts a cognitive persona defined in accordance with anembodiment of the invention by a first set of nodes in a weightedcognitive graph. In this embodiment, a cognitive persona 1002 is definedby attributes A₁ 804, A₂ 806, A₃ 808, A₄ 810, A₅ 812, A₆ 814, A₇ 816,which are respectively associated with a set of corresponding nodes in aweighted cognitive graph 1000. In various embodiments, an attributeweight (e.g., attribute weights AW₁ 1032, AW₂ 1034, AW₃ 1036, AW₄ 1038,AW₅ 1040, AW₆ 1042, AW₇ 1044, AW₈ 1046, and AW₉ 1048), is used torepresent a relevance value between two attributes. For example, ahigher numeric value (e.g., ‘5.0’) associated with an attribute weightmay indicate a higher degree of relevance between two attributes, whilea lower numeric value (e.g., ‘0.5’) may indicate a lower degree ofrelevance.

As shown in FIG. 10, the degree of relevance between the persona 1002and attributes A₁ 804 and A₄ 810 is respectively indicated by attributeweights AW₁ 1032 and AW₄ 1038. Likewise, the degree of relevance betweenattribute A₁ 804 and attributes A₂ 806 and A₃ 808 is respectivelyindicated by attribute weights AW₂ 1034 and AW₃ 1036. As likewise showin FIG. 10, the degree of relevance between attribute A₄ 810 andattributes A₅ 812 and A₆ 814 is respectively indicated by attributeweights AW₅ 1040 and AW₆ 1042. Likewise, the degree of relevance betweenattributes A₁ 804 and A₄ 810 is represented by attribute weight AW₇1044, while the degree of relevance between attribute A₇ 816 andattributes A₁ 804 and A₄ 810 is respectively represented by attributeweights AW₈ 1046 and AW₉ 1048.

In various embodiments, the numeric value associated with predeterminedattribute weights (e.g., attribute weights AW₁ 1032, AW₂ 1034, AW₃ 1036,AW₄ 1038, AW₅ 1040, AW₆ 1042, AW₇ 1044, AW₈ 1046, and AW₉ 1048) maychange as a result of the performance of composite cognitive insight andfeedback operations described in greater detail herein. In oneembodiment, the changed numeric values associated with the predeterminedattribute weights may be used to modify an existing cognitive persona.In another embodiment, the changed numeric values associated with thepredetermined attribute weights may be used to generate a new cognitivepersona. In yet another embodiment, the changed numeric valuesassociated with the predetermined attribute weights may be used togenerate a cognitive profile.

FIG. 11 depicts a cognitive profile defined in accordance with anembodiment of the invention by the addition of a second set of nodes tothe first set of nodes shown in FIG. 10. In this embodiment, a cognitiveprofile 1102 is defined by the addition of attributes A₈ 918, A₉ 920,A₁₀ 922, A₁₁ 924 to attributes A₁ 804, A₂ 806, A₃ 808, A₄ 810, A₅ 812,A₆ 814, A₇ 816, all of which are respectively associated with a set ofcorresponding nodes in a weighted cognitive graph 1100. As shown in FIG.11, the cognitive profile 1102 is associated with attributes A₁ 804 andA₄ 810, which are in turn respectively associated with attributes A₂806, A₃ 808, A₅ 812, and A₆ 814. Likewise, attributes A₁ 804 and A₄ 810are associated with each other as well as with attribute A₇ 816. Aslikewise shown in FIG. 11, attribute A₇ 816 is associated withattributes A₉ 920 and A₁₁ 924, both of which are associated withattribute A₁₀ 922. Likewise, attribute A₁₁ 924 is associated withattribute A₃ 808, while attribute A₈ 918 is associated with attributesA₆ 814, A₉ 920 and A₁₁ 924.

As shown in FIG. 11, the degree of relevance between attribute A₆ 814and A₈ 918 is represented by attribute weight AW₁₀ 1150, while thedegree of relevance between attribute A₈ 918 and attributes A₉ 920 andA₁₀ 922 is respectively indicated by attribute weights AW₁₁ 1152 andAW₁₂ 1154. Likewise, the degree of relevance between attribute A₁₀ 922and attributes A₉ 920 and A₁₁ 924 is respectively indicated by attributeweights AW₁₃ 1156 and AW₁₅ 1160. As likewise shown in FIG. 11, thedegree of relevance between attribute A₇ 816 and attributes A₉ 920 andA₁₁ 924 is respectively indicated by attribute weights AW₁₄ 1158 andAW₁₆ 1162, while the degree of relevance between attributes A₁₁ 924 andA₃ 808 is represented by attribute weight AW₁₇ 1164.

In various embodiments, the numeric value associated with predeterminedattribute weights may change as a result of the performance of compositecognitive insight and feedback operations described in greater detailherein. In one embodiment, the changed numeric values associated withthe predetermined attribute weights may be used to modify an existingcognitive profile. In another embodiment, the changed numeric valuesassociated with the predetermined attribute weights may be used togenerate a new cognitive profile.

FIGS. 12a and 12b are a simplified process flow diagram showing the useof cognitive personas and cognitive profiles implemented in accordancewith an embodiment of the invention to generate composite cognitiveinsights. As used herein, a composite cognitive insight broadly refersto a set of cognitive insights generated as a result of orchestrating apredetermined set of independent cognitive agents, referred to herein asinsight agents. In various embodiments, the insight agents use acognitive graph, such as an application cognitive graph 1282, as theirdata source to respectively generate individual cognitive insights. Asused herein, an application cognitive graph 1282 broadly refers to acognitive graph that is associated with a predetermined cognitiveapplication 304. In certain embodiments, different cognitiveapplications 304 may interact with different application cognitivegraphs 1282 to generate individual cognitive insights for a user. Invarious embodiments, the resulting individual cognitive insights arethen composed to generate a set of composite cognitive insights, whichin turn is provided to a user in the form of a cognitive insight summary1248.

In various embodiments, the orchestration of the selected insight agentsis performed by the cognitive insight/learning engine 330 shown in FIGS.3 and 4 a. In certain embodiments, a predetermined subset of insightagents is selected to provide composite cognitive insights to satisfy agraph query 1244, a contextual situation, or some combination thereof.For example, it may be determined, as described in greater detailherein, that a particular subset of insight agents may be suited toprovide a composite cognitive insight related to a particular user of aparticular device, at a particular location, at a particular time, for aparticular purpose.

In certain embodiments, the insight agents are selected fororchestration as a result of receiving direct or indirect input data1242 from a user. In various embodiments, the direct user input may be anatural language inquiry. In certain embodiments, the indirect userinput data 1242 may include the location of a user's device or thepurpose for which it is being used. As an example, the GeographicalPositioning System (GPS) coordinates of the location of a user's mobiledevice may be received as indirect user input data 1242. As anotherexample, a user may be using the integrated camera of their mobiledevice to take a photograph of a location, such as a restaurant, or anitem, such as a food product. In certain embodiments, the direct orindirect user input data 1242 may include personal information that canbe used to identify the user. Skilled practitioners of the art willrecognize that many such embodiments are possible and the foregoing isnot intended to limit the spirit, scope or intent of the invention.

In various embodiments, composite cognitive insight generation andfeedback operations may be performed in various phases. In thisembodiment, these phases include a data lifecycle 1240 phase, a learning1238 phase, and an application/insight composition 1240 phase. In thedata lifecycle 1236 phase, a predetermined instantiation of a cognitiveplatform 1210 sources social data 1212, public data 1214, licensed data1216, and proprietary data 1218 from various sources as described ingreater detail herein. In various embodiments, an example of a cognitiveplatform 1210 instantiation is the cognitive platform 310 shown in FIGS.3, 4 a, and 4 b. In this embodiment, the instantiation of a cognitiveplatform 1210 includes a source 1206 component, a process 1208component, a deliver 1210 component, a cleanse 1220 component, an enrich1222 component, a filter/transform 1224 component, and a repair/reject1226 component. Likewise, as shown in FIG. 12a , the process 1208component includes a repository of models 1228, described in greaterdetail herein.

In various embodiments, the process 1208 component is implemented toperform various composite insight generation and other processingoperations described in greater detail herein. In these embodiments, theprocess 1208 component is implemented to interact with the source 1208component, which in turn is implemented to perform various data sourcingoperations described in greater detail herein. In various embodiments,the sourcing operations are performed by one or more sourcing agents, aslikewise described in greater detail herein. The resulting sourced datais then provided to the process 1208 component. In turn, the process1208 component is implemented to interact with the cleanse 1220component, which is implemented to perform various data cleansingoperations familiar to those of skill in the art. As an example, thecleanse 1220 component may perform data normalization or pruningoperations, likewise known to skilled practitioners of the art. Incertain embodiments, the cleanse 1220 component may be implemented tointeract with the repair/reject 1226 component, which in turn isimplemented to perform various data repair or data rejection operationsknown to those of skill in the art.

Once data cleansing, repair and rejection operations are completed, theprocess 1208 component is implemented to interact with the enrich 1222component, which is implemented in various embodiments to performvarious data enrichment operations described in greater detail herein.Once data enrichment operations have been completed, the process 1208component is likewise implemented to interact with the filter/transform1224 component, which in turn is implemented to perform data filteringand transformation operations described in greater detail herein.

In various embodiments, the process 1208 component is implemented togenerate various models, described in greater detail herein, which arestored in the repository of models 1228. The process 1208 component islikewise implemented in various embodiments to use the sourced data togenerate one or more cognitive graphs, such as an application cognitivegraph 1282, as described in greater detail herein. In variousembodiments, the process 1208 component is implemented to gain anunderstanding of the data sourced from the sources of social data 1212,public data 1214, licensed data 1216, and proprietary data 1218, whichassist in the automated generation of the application cognitive graph1282.

The process 1208 component is likewise implemented in variousembodiments to perform bridging 1246 operations, described in greaterdetail herein, to access the application cognitive graph 1282. Incertain embodiments, the bridging 1246 operations are performed bybridging agents, likewise described in greater detail herein. In variousembodiments, the application cognitive graph 1282 is accessed by theprocess 1208 component during the learning 1236 phase of the compositecognitive insight generation operations.

In various embodiments, a cognitive application 304 is implemented toreceive input data 1242 associated with an individual user or a group ofusers. In these embodiments, the input data 1242 may be direct, such asa user query or mouse click, or indirect, such as the current time orGeographical Positioning System (GPS) data received from a mobile deviceassociated with a user. In various embodiments, the indirect input data1242 may include contextual data, described in greater detail herein.Once it is received, the input data 1242 is then submitted by thecognitive application 304 to a graph query engine 326 during theapplication/insight composition 1240 phase. In turn, the graph queryengine 326 processes the submitted input data 1242 to generate a graphquery 1244, as described in greater detail herein. The graph query 1244is then used to query the application cognitive graph 1282, whichresults in the generation of one or more composite cognitive insights,likewise described in greater detail herein. In certain embodiments, thegraph query 1244 uses predetermined knowledge elements stored in theuniversal knowledge repository 1280 when querying the applicationcognitive graph 1282 to generate the one or more composite cognitiveinsights.

In various embodiments, the graph query 1244 results in the selection ofa predetermined cognitive persona, described in greater detail herein,from a repository of cognitive personas ‘1’ through ‘n’ 1272, accordingto a set of contextual information associated with a user. In certainembodiments, the universal knowledge repository 1280 includes therepository of personas ‘1’ through ‘n’ 1272. In various embodiments,individual nodes within predetermined cognitive personas stored in therepository of personas ‘1’ through ‘n’ 1272 are linked 954 tocorresponding nodes in the universal knowledge repository 1280. Incertain embodiments, predetermined nodes within the universal knowledgerepository 1280 are likewise linked to predetermined nodes within thecognitive application graph 1282.

As used herein, contextual information broadly refers to informationassociated with a location, a point in time, a user role, an activity, acircumstance, an interest, a desire, a perception, an objective, or acombination thereof. In certain embodiments, the contextual informationis likewise used in combination with the selected cognitive persona togenerate one or more composite cognitive insights for a user. In variousembodiments, the composite cognitive insights that are generated for auser as a result of using a first set of contextual information may bedifferent than the composite cognitive insights that are generated as aresult of using a second set of contextual information.

As an example, a user may have two associated cognitive personas,“purchasing agent” and “retail shopper,” which are respectively selectedaccording to two sets of contextual information. In this example, the“purchasing agent” cognitive persona may be selected according to afirst set of contextual information associated with the user performingbusiness purchasing activities in their office during business hours,with the objective of finding the best price for a particular commercialinventory item. Conversely, the “retail shopper” cognitive persona maybe selected according to a second set of contextual informationassociated with the user performing cognitive personal shoppingactivities in their home over a weekend, with the objective of finding adecorative item that most closely matches their current furnishings. Asa result, the composite cognitive insights generated as a result ofcombining the first cognitive persona with the first set of contextualinformation will likely be different than the composite cognitiveinsights generated as a result of combining the second cognitive personawith the second set of contextual information.

In various embodiments, the graph query 1244 results in the selection ofa predetermined cognitive profile, described in greater detail herein,from a repository of cognitive profiles ‘1’ through ‘n’ 1274 accordingto identification information associated with a user. The method bywhich the identification information is determined is a matter of designchoice. In certain embodiments, set of contextual information associatedwith a user is used to select the cognitive profile is selected from therepository of cognitive profiles ‘1’ through ‘n’ 1274. In variousembodiments, one or more cognitive profiles may be associated with apredetermined user. In these embodiments, a predetermined cognitiveprofile is selected and then used by a CILS to generate one or morecomposite cognitive insights for the user as described in greater detailherein. In certain of these embodiments, the selected cognitive profileprovides a basis for adaptive changes to the CILS, and by extension, thecomposite cognitive insights it generates.

In various embodiments, provision of the composite cognitive insightsresults in the CILS receiving feedback 1262 information related to anindividual user. In one embodiment, the feedback 1262 information isused to revise or modify a cognitive persona. In another embodiment, thefeedback 1262 information is used to revise or modify the cognitiveprofile associated with a user. In yet another embodiment, the feedback1262 information is used to create a new cognitive profile, which inturn is stored in the repository of cognitive profiles ‘1’ through ‘n’1274. In still yet another embodiment, the feedback 1262 information isused to create one or more associated cognitive profiles, which inherita common set of attributes from a source cognitive profile. In anotherembodiment, the feedback 1262 information is used to create a newcognitive profile that combines attributes from two or more sourcecognitive profiles. In various embodiments, these persona and profilemanagement operations 1276 are performed through interactions betweenthe cognitive application 304, the repository of cognitive personas ‘1’through ‘n’ 1272, the repository of cognitive profiles ‘1’ through ‘n’1274, the universal knowledge repository 1280, or some combinationthereof. Those of skill in the art will realize that many suchembodiments are possible and the foregoing is not intended to limit thespirit, scope or intent of the invention.

In various embodiments, a cognitive profile associated with a user maybe either static or dynamic. As used herein, a static cognitive profilerefers to a cognitive profile that contains identification informationassociated with a user that changes on an infrequent basis. As anexample, a user's name, Social Security Number (SSN), or passport numbermay not change, although their age, address or employer may change overtime. To continue the example, the user may likewise have a variety offinancial account identifiers and various travel awards programidentifiers which change infrequently.

As likewise used herein, a dynamic cognitive profile refers to acognitive profile that contains information associated with a user thatchanges on a dynamic basis. For example, a user's interests andactivities may evolve over time, which may be evidenced by associatedinteractions with the CILS. In various embodiments, these interactionsresult in the provision of associated composite cognitive insights tothe user. In these embodiments, the user's interactions with the CILS,and the resulting composite cognitive insights that are generated, areused to update the dynamic cognitive profile on an ongoing basis toprovide an up-to-date representation of the user in the context of thecognitive profile used to generate the composite cognitive insights.

In various embodiments, a cognitive profile, whether static or dynamic,is selected according to a set of contextual information associated witha user. In certain embodiments, the contextual information is likewiseused in combination with the selected cognitive profile to generate oneor more composite cognitive insights for the user. In these embodiments,the composite cognitive insights that are generated as a result of usinga first set of contextual information with the selected cognitiveprofile may be different than the composite cognitive insights that aregenerated as a result of using a second set of contextual information.

As an example, a user may have two associated cognitive profiles,“runner” and “foodie,” which are respectively selected according to twosets of contextual information. In this example, the “runner” cognitiveprofile may be selected according to a first set of contextualinformation associated with the user being out of town on businesstravel and wanting to find a convenient place to run close to where theyare staying. To continue this example, two composite cognitive insightsmay be generated and provided to the user in the form of a cognitiveinsight summary 1248. The first may be suggesting a running trail theuser has used before and liked, but needs directions to find again. Thesecond may be suggesting a new running trail that is equally convenient,but wasn't available the last time the user was in town.

Conversely, the “foodie” cognitive profile may be selected according toa second set of contextual information associated with the user being athome and expressing an interest in trying either a new restaurant or aninnovative cuisine. To further continue this example, the user's“foodie” cognitive profile may be processed by the CILS to determinewhich restaurants and cuisines the user has tried in the last eighteenmonths. As a result, two composite cognitive insights may be generatedand provided to the user in the form of a cognitive insight summary1248. The first may be a suggestion for a new restaurant that is servinga cuisine the user has enjoyed in the past. The second may be asuggestion for a restaurant familiar to the user that is promoting aseasonal menu featuring Asian fusion dishes, which the user has nottried before. Those of skill in the art will realize that the compositecognitive insights generated as a result of combining the firstcognitive profile with the first set of contextual information willlikely be different than the composite cognitive insights generated as aresult of combining the second cognitive profile with the second set ofcontextual information.

In various embodiments, a user's cognitive profile, whether static ordynamic, may reference data that is proprietary to the user, anorganization, or a combination thereof. As used herein, proprietary databroadly refers to data that is owned, controlled, or a combinationthereof, by an individual user or an organization, which is deemedimportant enough that it gives competitive advantage to that individualor organization. In certain embodiments, the organization may be agovernmental, non-profit, academic or social entity, a manufacturer, awholesaler, a retailer, a service provider, an operator of a cognitiveinference and learning system (CILS), and others.

In various embodiments, an organization may or may not grant a user theright to obtain a copy of certain proprietary information referenced bytheir cognitive profile. In certain embodiments, a first organizationmay or may not grant a user the right to obtain a copy of certainproprietary information referenced by their cognitive profile andprovide it to a second organization. As an example, the user may not begranted the right to provide travel detail information (e.g., traveldates and destinations, etc.) associated with an awards program providedby a first travel services provider (e.g., an airline, a hotel chain, acruise ship line, etc.) to a second travel services provider. In variousembodiments, the user may or may not grant a first organization theright to provide a copy of certain proprietary information referenced bytheir cognitive profile to a second organization. Those of skill in theart will recognize that many such embodiments are possible and theforegoing is not intended to limit the spirit, scope or intent of theinvention.

In various embodiments, a set of contextually-related interactionsbetween a cognitive application 304 and the application cognitive graph1282 are represented as a corresponding set of nodes in a predeterminedcognitive session graph, which is then stored in a repository ofcognitive session graphs ‘1’ through ‘n’ 1252. As used herein, acognitive session graph broadly refers to a cognitive graph whose nodesare associated with a cognitive session. As used herein, a cognitivesession broadly refers to a predetermined user, group of users, theme,topic, issue, question, intent, goal, objective, task, assignment,process, situation, requirement, condition, responsibility, location,period of time, or any combination thereof.

As an example, the application cognitive graph 1282 may be unaware of aparticular user's preferences, which are likely stored in acorresponding user profile. To further the example, a user may typicallychoose a particular brand or manufacturer when shopping for a given typeof product, such as cookware. A record of each query regarding thatbrand of cookware, or its selection, is iteratively stored in apredetermined session graph that is associated with the user and storedin a repository of session graphs ‘1’ through ‘n’ 1252. As a result, thepreference of that brand of cookware is ranked higher, and is presentedin response to contextually-related queries, even when the preferredbrand of cookware is not explicitly referenced by the user. To continuethe example, the user may make a number of queries over a period of daysor weeks, yet the queries are all associated with the same cognitivesession graph that is associated with the user and stored in arepository of cognitive session graphs ‘1’ through ‘n’ 1252, regardlessof when each query is made.

As another example, a user queries a cognitive application 304 duringbusiness hours to locate an upscale restaurant located close their placeof business. As a result, a first cognitive session graph stored in arepository of cognitive session graphs ‘1’ through ‘n’ 1252 isassociated with the user's query, which results in the provision ofcomposite cognitive insights related to restaurants suitable forbusiness meetings. To continue the example, the same user queries thesame cognitive application 304 during the weekend to locate a casualrestaurant located close to their home. As a result, a second cognitivesession graph stored in a repository of cognitive session graphs ‘1’through ‘n’ 1252 is associated with the user's query, which results inthe provision of composite cognitive insights related to restaurantssuitable for family meals. In these examples, the first and secondcognitive session graphs are both associated with the same user, but fortwo different purposes, which results in the provision of two differentsets of composite cognitive insights.

As yet another example, a group of customer support representatives istasked with resolving technical issues customers may have with apredetermined product. In this example, the product and the group ofcustomer support representatives are collectively associated with apredetermined cognitive session graph stored in a repository ofcognitive session graphs ‘1’ through ‘n’ 1252. To continue the example,individual customer support representatives may submit queries relatedto the product to a cognitive application 304, such as a knowledge baseapplication. In response, a predetermined cognitive session graph storedin a repository of cognitive session graphs ‘1’ through ‘n’ 1252 isused, along with the universal knowledge repository 880 and applicationcognitive graph 1282, to generate individual or composite cognitiveinsights to resolve a technical issue for a customer. In this example,the cognitive application 304 may be queried by the individual customersupport representatives at different times during some predeterminedtime interval, yet the same cognitive session graph stored in arepository of cognitive session graphs ‘1’ through ‘n’ 1252 is used togenerate composite cognitive insights related to the product.

In various embodiments, each cognitive session graph associated with auser and stored in a repository of cognitive session graphs ‘1’ through‘n’ 1252 includes one or more direct or indirect user queriesrepresented as nodes, and the time at which they were asked, which arein turn linked 1254 to nodes that appear in the application cognitivegraph 1282. In certain embodiments, each individual session graph thatis associated with the user and stored in a repository of session graphs‘1’ through ‘n’ 1252 introduces edges that are not already present inthe application cognitive graph 1282. More specifically, each of thesession graphs that is associated with the user and stored in arepository of session graphs ‘1’ through ‘n’ 1252 establishes variousrelationships that the application cognitive graph 1282 does not alreadyhave.

In various embodiments, individual cognitive profiles in the repositoryof profiles ‘1’ through ‘n’ 1274 are respectively stored as sessiongraphs in the repository of session graphs 1252. In these embodiments,predetermined nodes within each of the individual cognitive profiles arelinked 1254 to predetermined nodes within corresponding cognitivesession graphs stored in the repository of cognitive session graphs ‘1’through ‘n’ 1254. In certain embodiments, individual nodes within eachof the cognitive profiles are likewise linked 1254 to correspondingnodes within various cognitive personas stored in the repository ofcognitive personas ‘1’ through ‘n’ 1272.

In various embodiments, individual graph queries 1244 associated with apredetermined session graph stored in a repository of session graphs ‘1’through ‘n’ 1252 are likewise provided to predetermined insight agentsto perform various kinds of analyses. In certain embodiments, eachinsight agent performs a different kind of analysis. In variousembodiments, different insight agents may perform the same, or similar,analyses. In certain embodiments, different agents performing the sameor similar analyses may be competing between themselves.

For example, a user may be a realtor that has a young, uppermiddle-class, urban-oriented clientele that typically enjoys eating attrendy restaurants that are in walking distance of where they live. As aresult, the realtor may be interested in knowing about new or popularrestaurants that are in walking distance of their property listings thathave a young, middle-class clientele. In this example, the user'squeries may result the assignment of predetermined insight agents toperform analysis of various social media interactions to identify suchrestaurants that have received favorable reviews. To continue theexample, the resulting composite insights may be provided as a rankedlist of candidate restaurants that may be suitable venues for therealtor to meet his clients.

In various embodiments, the process 1208 component is implemented toprovide these composite cognitive insights to the deliver 1210component, which in turn is implemented to deliver the compositecognitive insights in the form of a cognitive insight summary 1248 tothe cognitive application 304. In these embodiments, the cognitiveplatform 1210 is implemented to interact with an insight front-end 1256component, which provides a composite insight and feedback interfacewith the cognitive application 304. In certain embodiments, the insightfront-end 1256 component includes an insight Application ProgramInterface (API) 1258 and a feedback API 1260, described in greaterdetail herein. In these embodiments, the insight API 1258 is implementedto convey the cognitive insight summary 1248 to the cognitiveapplication 304. Likewise, the feedback API 1260 is used to conveyassociated direct or indirect user feedback 1262 to the cognitiveplatform 1210. In certain embodiments, the feedback API 1260 providesthe direct or indirect user feedback 1262 to the repository of models1228 described in greater detail herein.

To continue the preceding example, the user may have received a list ofcandidate restaurants that may be suitable venues for meeting hisclients. However, one of his clients has a pet that they like to takewith them wherever they go. As a result, the user provides feedback 1262that he is looking for a restaurant that is pet-friendly. The providedfeedback 1262 is in turn provided to the insight agents to identifycandidate restaurants that are also pet-friendly. In this example, thefeedback 1262 is stored in the appropriate session graph 1252 associatedwith the user and their original query.

In various embodiments, as described in the descriptive text associatedwith FIG. 5, learning operations are iteratively performed during thelearning 1238 phase to provide more accurate and useful compositecognitive insights. In certain of these embodiments, feedback 1262received from the user is stored in a predetermined session graph thatis associated with the user and stored in a repository of session graphs‘1’ through ‘n’ 1252, which is then used to provide more accuratecomposite cognitive insights in response to subsequentcontextually-relevant queries from the user.

As an example, composite cognitive insights provided by a particularinsight agent related to a first subject may not be relevant orparticularly useful to a user of the cognitive application 304. As aresult, the user provides feedback 1262 to that effect, which in turn isstored in the appropriate session graph that is associated with the userand stored in a repository of session graphs ‘1’ through ‘n’ 1252.Accordingly, subsequent insights provided by the insight agent relatedthe first subject may be ranked lower, or not provided, within acognitive insight summary 1248 provided to the user. Conversely, thesame insight agent may provide excellent insights related to a secondsubject, resulting in positive feedback 1262 being received from theuser. The positive feedback 1262 is likewise stored in the appropriatesession graph that is associated with the user and stored in arepository of session graphs ‘1’ through ‘n’ 1252. As a result,subsequent insights provided by the insight agent related to the secondsubject may be ranked higher within a cognitive insight summary 1248provided to the user.

In various embodiments, the composite insights provided in eachcognitive insight summary 1248 to the cognitive application 304, andcorresponding feedback 1262 received from a user in return, is providedin the form of one or more insight streams 1264 to an associated sessiongraph stored in a repository of session graphs ‘1’ through ‘n’ 1252. Inthese and other embodiments, the insight streams 1264 may containinformation related to the user of the cognitive application 304, thetime and date of the provided composite cognitive insights and relatedfeedback 1262, the location of the user, and the device used by theuser.

As an example, a query related to upcoming activities that is receivedat 10:00 AM on a Saturday morning from a user's home may returncomposite cognitive insights related to entertainment performancesscheduled for the weekend. Conversely, the same query received at thesame time on a Monday morning from a user's office may return compositecognitive insights related to business functions scheduled during thework week. In various embodiments, the information contained in theinsight streams 1264 is used to rank the composite cognitive insightsprovided in the cognitive insight summary 1248. In certain embodiments,the composite cognitive insights are continually re-ranked as additionalinsight streams 1264 are received. Skilled practitioners of the art willrecognize that many such embodiments are possible and the foregoing isnot intended to limit the spirit, scope or intent of the invention.

FIGS. 13a and 13b are a generalized flowchart of cognitive persona andcognitive profile operations performed in accordance with an embodimentof the invention to generate composite cognitive insights. In thisembodiment, composite cognitive persona and profile operations are begunin step 1302, followed by a cognitive application requesting anApplication Programming Interface (API) key from a cognitive platform,described in greater detail herein, in step 1304. The method by whichthe API key is requested, generated and provided to the cognitiveapplication is a matter of design choice. A cognitive session token isthen issued to the cognitive application, which uses it in step 1306 toestablish a composite cognitive insight session.

As used herein, a composite cognitive insight session broadly refers toa session with a cognitive application, described in greater detailherein, where composite cognitive insights are generated and presentedto a user. In various embodiments, the composite cognitive insightsession may also include the receipt of feedback from the user, likewisedescribed in greater detail herein. In one embodiment, the cognitivesession token is used to establish a composite cognitive insight sessionthat generates a new cognitive session graph. In another embodiment, thecognitive session token is used to establish a composite cognitiveinsight session that appends composite cognitive insights and userfeedback to an existing cognitive session graph associated with theuser.

In various embodiments, the cognitive session token enables thecognitive application to interact with a cognitive session graphassociated with the cognitive session token. In these embodiments, thecomposite cognitive insight session is perpetuated. For example, a givencomposite cognitive insight session may last months or even years. Incertain embodiments, the cognitive session token expires after apredetermined period of time. In these embodiments, the cognitivesession token is no longer valid once the predetermined period of timeexpires. The method by which the period of time is determined, andmonitored, is a matter of design choice.

Direct and indirect user input data, as described in greater detailherein, is received in step 1308, followed by a determination being madein step 1310 whether or not the user is identified. As an example, theidentity of the user may be determined from the direct and indirect userinput data received in step 1308. If it is determined in step 1310 thatthe user has been identified, then a determination is made in step 1312whether a relevant cognitive profile exists for the user. If not, or ifthe user was not identified in step 1310, then a relevant cognitiveprofile is selected for the user in step 1316. Otherwise, a relevantcognitive profile is retrieved for the user in step 1314.

Thereafter, or once a relevant cognitive persona has been selected forthe user in step 1316, the direct and indirect user input data is usedwith the selected cognitive persona or retrieved cognitive profile togenerate and present contextually-relevant composite cognitive insightsto the user in step 1318. In various embodiments, composite cognitiveinsights presented to the user are stored in the cognitive session graphassociated with the cognitive session token. A determination is thenmade in step 1320 whether a cognitive profile is currently in use. If sothen it is updated, as described in greater detail herein, in step 1322.Thereafter, or if it is determined in step 1320 that a cognitive profileis not currently in use, a determination is then made in step 1324whether to convert the cognitive persona currently in use to a cognitiveprofile. If so, then the cognitive persona currently in use is convertedto a cognitive profile in step 1326. The method by which the cognitivepersona is converted to a cognitive profile is a matter of designchoice.

However, if it was determined in step 1324 to not convert the cognitivepersona currently in use to a cognitive profile, or once it has beenconverted in step 1326, a determination is then made in step 1328whether feedback has been received from the user. If not, then adetermination is made in step 1340 whether to end composite cognitiveinsights and feedback operations. If not, then a determination is madein step 1342 whether the cognitive session token for the target sessionhas expired. If not, then the process is continued, proceeding with step1310. Otherwise, the process is continued, proceeding with step 1304.However, if it is determined in step 1324 not to end composite cognitiveinsights and feedback operations, then composite cognitive insights andfeedback operations are ended in step 1344.

However, if it was determined in step 1328 that feedback was receivedfrom the user, then the cognitive application provides the feedback, asdescribed in greater detail herein, to the cognitive platform in step1330. A determination is then made in step 1332 whether to use theprovided feedback to generate contextually-relevant questions forprovision to the user. If not, then the process is continued, proceedingwith step 1340. Otherwise, the cognitive platform uses the providedfeedback in step 1334 to generate contextually-relevant questions. Then,in step 1336, the cognitive platform provides the contextually-relevantquestions, along with additional composite insights, to the cognitiveapplication. In turn, the cognitive application provides thecontextually-relevant questions and additional composite cognitiveinsights to the user in step 1334 and the process is continued,proceeding with step 1320.

Although the present invention has been described in detail, it shouldbe understood that various changes, substitutions and alterations can bemade hereto without departing from the spirit and scope of the inventionas defined by the appended claims.

1-6. (canceled)
 7. A computer-implementable method for performingcognitive computing operations comprising: receiving streams of datafrom a plurality of data sources; processing the streams of data fromthe plurality of data sources, the processing the streams of data fromthe plurality of data sources performing data enriching forincorporation into a cognitive graph, the processing being performed bya cognitive inference and learning system, the cognitive inference andlearning system executing on a hardware processor of an informationprocessing system and interacting with the plurality of data sources,the cognitive inference and learning system comprising a cognitiveplatform, the cognitive platform comprising a cognitive engine, thecognitive engine processing the streams of data from the plurality ofdata sources; incorporating enriched data resulting from the performingof the data enriching into the cognitive graph as nodes within thecognitive graph; defining a cognitive profile, the cognitive profilereferencing personal data associated with a user, the personal dataassociated with the user being stored as at least one node within thecognitive graph; associating the user with the cognitive profile; and,performing a cognitive computing operation based upon the cognitiveprofile associated with the user.
 8. The method of claim 7, wherein: thepersonal data comprises data associated with an interaction of the userwith the cognitive graph.
 9. The method of claim 7, wherein: thepersonal data is distributed among the plurality of data sources. 10.The method of claim 9, further comprising: aggregating the personal datadistributed among the plurality of data sources to define the cognitiveprofile.
 11. The method of claim 7, wherein: the cognitive profilerepresents a plurality of attributes associated with the user; and eachof the plurality of attributes corresponds to a node within the set ofnodes in the cognitive graph.
 12. The method of claim 7, furthercomprising: receiving user provided personal information; and,associating the user with the cognitive profile based upon user providedpersonal information.
 13. A system comprising: a processor; a data buscoupled to the processor; and a non-transitory, computer-readablestorage medium embodying computer program code, the non-transitory,computer-readable storage medium being coupled to the data bus, thecomputer program code interacting with a plurality of computeroperations and comprising instructions executable by the processor andconfigured for: receiving streams of data from a plurality of datasources; processing the streams of data from the plurality of datasources, the processing the streams of data from the plurality of datasources performing data enriching for incorporation into a cognitivegraph, the processing being performed by a cognitive inference andlearning system, the cognitive inference and learning system executingon a hardware processor of an information processing system andinteracting with the plurality of data sources, the cognitive inferenceand learning system comprising a cognitive platform, the cognitiveplatform comprising a cognitive engine, the cognitive engine processingthe streams of data from the plurality of data sources; incorporatingenriched data resulting from the performing of the data enriching intothe cognitive graph as nodes within the cognitive graph; defining acognitive profile, the cognitive profile referencing personal dataassociated with a user, the personal data associated with the user beingstored as at least one node within the cognitive graph; associating theuser with the cognitive profile; and, performing a cognitive computingoperation based upon the cognitive profile associated with the user. 14.The system of claim 13, wherein: the personal data comprises dataassociated with an interaction of the user with the cognitive graph. 15.The system of claim 13, wherein: the personal data is distributed amongthe plurality of data sources.
 16. The system of claim 15, wherein theinstructions executable by the processor further comprise instructionsfor: aggregating the personal data distributed among the plurality ofdata sources to define the cognitive profile.
 17. The system of claim13, wherein: the cognitive profile represents a plurality of attributesassociated with the user; and each of the plurality of attributescorresponds to a node within the set of nodes in the cognitive graph.18. The system of claim 13, wherein the instructions executable by theprocessor further comprise instructions for: receiving user providedpersonal information; and, associating the user with the cognitiveprofile based upon user provided personal information.
 19. Anon-transitory, computer-readable storage medium embodying computerprogram code, the computer program code comprising computer executableinstructions configured for: receiving streams of data from a pluralityof data sources; processing the streams of data from the plurality ofdata sources, the processing the streams of data from the plurality ofdata sources performing data enriching for incorporation into acognitive graph, the processing being performed by a cognitive inferenceand learning system, the cognitive inference and learning systemexecuting on a hardware processor of an information processing systemand interacting with the plurality of data sources, the cognitiveinference and learning system comprising a cognitive platform, thecognitive platform comprising a cognitive engine, the cognitive engineprocessing the streams of data from the plurality of data sources;incorporating enriched data resulting from the performing of the dataenriching into the cognitive graph as nodes within the cognitive graph;defining a cognitive profile, the cognitive profile referencing personaldata associated with a user, the personal data associated with the userbeing stored as at least one node within the cognitive graph;associating the user with the cognitive profile; and, performing acognitive computing operation based upon the cognitive profileassociated with the user.
 20. The non-transitory, computer-readablestorage medium of claim 19, wherein: the personal data comprises dataassociated with an interaction of the user with the cognitive graph. 21.The non-transitory, computer-readable storage medium of claim 19,wherein: the personal data is distributed among the plurality of datasources.
 22. The non-transitory, computer-readable storage medium ofclaim 21, wherein the instructions executable by the processor furthercomprise instructions for: aggregating the personal data distributedamong the plurality of data sources to define the cognitive profile. 23.The non-transitory, computer-readable storage medium of claim 19,wherein: the cognitive profile represents a plurality of attributesassociated with the user; and each of the plurality of attributescorresponds to a node within the set of nodes in the cognitive graph.24. The non-transitory, computer-readable storage medium of claim 19,wherein the instructions executable by the processor further compriseinstructions for: receiving user provided personal information; and,associating the user with the cognitive profile based upon user providedpersonal information.
 25. The non-transitory, computer-readable storagemedium of claim 19, wherein the computer executable instructions aredeployable to a client system from a server system at a remote location.26. The non-transitory, computer-readable storage medium of claim 19,wherein the computer executable instructions are provided by a serviceprovider to a user on an on-demand basis.